1、问题描述

想在项目中使用jquery,于是从jquery官网下载了最新版本(手动从浏览器中复制到本地的js文件中),并在html文件中添加了引用。目录及引用情况如图。

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Insert title here</title><script src="../static/jquery.min.js"></script><script type="text/javascript">function btnLoginClick() {if (typeof jQuery !== 'undefined') {alert("Loaded success.");} else {alert ("Not yet.");}}</script>
</head>
<body>
<button onclick="btnLoginClick()">Click me</button>
</body>
</html>

运行起来一直提示jQuery没有加载。
将script引用换成远程引用就没有问题。

<script src="http://code.jquery.com/jquery-latest.js"></script>

2、解决方案

网上搜了很多资料,有说是从浏览器copy的文本有问题的,但我直接下载别人的js文件也不行。有说是文件编码格式的问题的,但是我确认了html文件和js文件编码格式都是utf-8,加载还是失败。
后来搜资料时发现别人引用js文件的路径跟自己的不太一样(我是直接将js文件拖到html文件中,IDE自己生成的引用路径),遂怀疑是路径的问题。将自己写的脚本移到单独的js文件中,再在html中添加引用。

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Insert title here</title><script src="../static/jquery.min.js"></script><script src="../static/myScript.js"></script>
</head>
<body>
<button onclick="btnLoginClick()">Click me</button>
</body>
</html>

发现一样加载失败,故确定是路径的问题。
搜索正确的路径引用的姿势,参考这篇文章,将路径改为

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Insert title here</title><script src="./jquery.min.js"></script><script src="./myScript.js"></script>
</head>
<body>
<button onclick="btnLoginClick()">Click me</button>
</body>
</html>

加载OK。

PS:
另外一个项目中按照上面设置还是加载失败,发现是使用了shiro的缘故。需要在shiro的FilterChain中添加拦截规则,让静态资源可以匿名访问。

@Bean
ShiroFilterChainDefinition shiroFilterChainDefinition() {DefaultShiroFilterChainDefinition definition = new DefaultShiroFilterChainDefinition();definition.addPathDefinition("/js/**", "anon");definition.addPathDefinition("/login", "anon");definition.addPathDefinition("/**", "authc");return definition;
}

SpringBoot html中引用本地js文件失败的问题相关推荐

  1. Angular7中引用外部JS文件

    Angular7中引用外部JS文件,步骤如下: 1. 将引入的js文件放到项目的src/assets下 2. 在angular.json文件中找到scripts项并配置js文件的相对路径 3. 在sr ...

  2. vue 引用src中的文件_Vue中引用第三方JS文件

    使用Vue时会经常使用jQuery.bootstrap这类第三方工具库,而boostrap的渲染不仅依赖于jQuery js文件的加载,也依赖于HTML中DOM树内容的加载.但Vue中DOM树是有Vu ...

  3. 在js文件中引用别的js文件的方法

    在js文件中用如下语句: document.write('<script src="abc.js"></script>'); 引用CSS文件亦同理.

  4. ci框架中引入css,php ci框架中加载css和js文件失败的原因和解决方法

    php ci框架中加载css和js文件失败的原因和解决方法 发布时间:2021-07-01 12:08:38 来源:亿速云 阅读:50 作者:chen 本篇内容介绍了"php ci框架中加载 ...

  5. vue引用自定义.js文件 (常量抛出 + 地址三级联动为例)- 语法篇

    文章目录 vue如何引用`自定义封装的` `.js`文件? `如何操作,详细如下.`(注意代码注释部分:注意1/2/3/4/5) 一.效果图预览: 二.以自定义`area.min.js`文件为例: 三 ...

  6. VSCode中,新建js文件中编译器自带jQuery提示失效的解决方法

    VSCode中,新建js文件中编译器自带jQuery提示失效的解决方法 在VSCode中,新建js文件可能会发生VSCode自带的jQuery提示引起失效,如下图 在HTML文件中进行编辑,<s ...

  7. AS引用本地aar文件

    们在使用Android Studio构建项目的时候会使用到aar文件,它和jar文件其实差不多,jar文件是单独只有项目清单,而aar文件是谷歌新弄出来的一种文件,它不仅包括项目清单,还包括资源文件, ...

  8. html调用外部js文件乱码,引用的js文件有中文时乱码

    Javascript 代码比较多时,通常把代码保存到一个独立的 js 文件中,这样不但利于减少 html 文件长度好布局修改,而且利于搜索引擎蜘蛛抓取.把 Javascript 代码放到 js 文件后 ...

  9. Vue 中引用第三方js总结

    vue中引用第三方js总结 By:授客 QQ:1033553122 实践环境 win10 Vue 2.9.6 本文以引用jsmind为例,讲解怎么在vue中引用第三方js类库 基础示例 1.把下载好的 ...

最新文章

  1. 在centos上通过yum直接安装最新版gcc和开发工具
  2. Linux 内核 up down,信号量机制中的DOWN操作与UP操作详解
  3. 你们肯定都不相信每天能准时下班了
  4. servlet3.0新特性_查看Servlet 3.0的新增功能
  5. tohexstring方法_Java Float类toHexString()方法的示例
  6. mysql case默认_MySQL -- 配置文件my.cnf 的详细说明
  7. python书写跨越多行的字符串的两种方式
  8. thinkphp页面请求时间超过40S报404错误解决办法
  9. 成都女学霸高考 692 分想当“程序媛”,网友:快劝劝孩子
  10. 谈谈joomla1.5中个人遇见的古怪问题
  11. Directx11教程(60) tessellation学习(2)
  12. 04-Groovy-运算符
  13. 中国第一大忽悠终于倒下了
  14. Unity Metaverse(六)、关于Avatar换装系统的示例工程
  15. CSS学习笔记之练习 2.25
  16. 一键u盘装win7系统教程图解
  17. 开始学ASP.NET了~·~得发奋啊……
  18. 邓仲祥:用甘肃地名命名的和政化石标本
  19. AC6969A 双声道蓝牙芯片 经典蓝牙5.3 纯蓝牙
  20. ACM入门攻略(紫书入门,不间断更新)

热门文章

  1. mysql的内联与左联,SQL联合查询(内联、左联、右联、全联)的语法
  2. 二进制分析实战:x86汇编快速入门
  3. 试用easytrader(以 通用同花顺客户端 为例)
  4. Jupyter Notebook Error: error loading notebook
  5. Matlab曲线的颜色、线型等参数设置方法
  6. Spark AQE中的CoalesceShufflePartitions和OptimizeLocalShuffleReader
  7. unity 如何在画布上画网格
  8. 偶然在回收站中看到《我的第一篇csdn博文》
  9. html5线性渐变方向,使用canvas来完成线性渐变和径向渐变的功能的方法示例
  10. Java中的锁-浅析