JS加载相对路径脚本的方法 - 汇总
js加载脚本的方式有很多,但是各有各的用途。
最近公司https项目改造,对于资源文件这一块,也是遇到一些问题,现在就来总结一下,怎样改造https的脚本吧~!
方法1、借助服务端语言如PHP,输入当前是https或者http的标识到html页面,再次编译后得到输出结果。【有服务端语言参与时推荐】
<script type="text/javascript" src="{$__SYS_URL__.__httpsUrl__}/dataster2/js/jquery.min.js"></script>
方法2、使用html标签base 替换该变量,其他地方的变量则用相对路径即可,如 /img/a.png ... 【有功能局限】
<base id="based" href="http://res.cccc.com/"> <script type="text/javascript"> var host = window.location.host; if(host.indexOf("eccc") > 0){ $("#based").attr("href","http://res.ccc.com/"); }else if(host.indexOf("xxxx") > 0){ $("#based").attr("href","https://res.cccc.com/"); } </script>
方法3、使用html自带的特性,自动获取当前协议填充 【方便易用、推荐】
<script type="text/javascript" src="http://cdn.ccc.com/static/common/lib/a.js"></script> <!-- 改为 --> <script type="text/javascript" src="//cdn.ccc.com/static/common/lib/a.js"></script>
方法4、使用js脚本加载script文件,添加到dom中 【在有些需求场景,低侵入式操作推荐】
<script type="text/javascript"> //在每个需要的地方加该代码,好烦呐 var hm = document.createElement("script"); hm.src = "//hm.baidu.com/hm.js?96664522"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); </script>
方法5、将原始脚本拷贝到本项目中,使用相对路径加载 【最笨的方法,不推荐】
<script> var cc = 1; //... //... </script>
注意:
1. 使用https协议加载网页时,一些低版本的app可能不支持,需要避免该情况。
2. 当https协议的网页中,包含了http的资源文件时,该网页将会被认为是有不完全的连接,因此一改造https,应将所有http链接改为https。
3. https证书尽量使用国际证书,如果有多个二级域名时,应买通配证书而非某特定域名证书。
暂且总结如此。
不要害怕今日的苦,你要相信明天,更苦!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2016-01-20 有没有人曾告诉你,你的SQL又报错了?[开发篇]