JS加载相对路径脚本的方法 - 汇总

2024-06-03 11:32

本文主要是介绍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证书尽量使用国际证书,如果有多个二级域名时,应买通配证书而非某特定域名证书。

暂且总结如此。

这篇关于JS加载相对路径脚本的方法 - 汇总的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1026867

相关文章

基于Python编写一个git自动上传的脚本(打包成exe)

《基于Python编写一个git自动上传的脚本(打包成exe)》这篇文章主要为大家详细介绍了如何基于Python编写一个git自动上传的脚本并打包成exe,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录前言效果如下源码实现利用pyinstaller打包成exe利用ResourceHacker修改e

Python字符串处理方法超全攻略

《Python字符串处理方法超全攻略》字符串可以看作多个字符的按照先后顺序组合,相当于就是序列结构,意味着可以对它进行遍历、切片,:本文主要介绍Python字符串处理方法的相关资料,文中通过代码介... 目录一、基础知识:字符串的“不可变”特性与创建方式二、常用操作:80%场景的“万能工具箱”三、格式化方法

springboot+redis实现订单过期(超时取消)功能的方法详解

《springboot+redis实现订单过期(超时取消)功能的方法详解》在SpringBoot中使用Redis实现订单过期(超时取消)功能,有多种成熟方案,本文为大家整理了几个详细方法,文中的示例代... 目录一、Redis键过期回调方案(推荐)1. 配置Redis监听器2. 监听键过期事件3. Redi

Spring Boot 处理带文件表单的方式汇总

《SpringBoot处理带文件表单的方式汇总》本文详细介绍了六种处理文件上传的方式,包括@RequestParam、@RequestPart、@ModelAttribute、@ModelAttr... 目录方式 1:@RequestParam接收文件后端代码前端代码特点方式 2:@RequestPart接

基于SpringBoot实现分布式锁的三种方法

《基于SpringBoot实现分布式锁的三种方法》这篇文章主要为大家详细介绍了基于SpringBoot实现分布式锁的三种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、基于Redis原生命令实现分布式锁1. 基础版Redis分布式锁2. 可重入锁实现二、使用Redisso

自定义注解SpringBoot防重复提交AOP方法详解

《自定义注解SpringBoot防重复提交AOP方法详解》该文章描述了一个防止重复提交的流程,通过HttpServletRequest对象获取请求信息,生成唯一标识,使用Redis分布式锁判断请求是否... 目录防重复提交流程引入依赖properties配置自定义注解切面Redis工具类controller

Java调用DeepSeek API的8个高频坑与解决方法

《Java调用DeepSeekAPI的8个高频坑与解决方法》现在大模型开发特别火,DeepSeek因为中文理解好、反应快、还便宜,不少Java开发者都用它,本文整理了最常踩的8个坑,希望对... 目录引言一、坑 1:Token 过期未处理,鉴权异常引发服务中断问题本质典型错误代码解决方案:实现 Token

Nginx 访问控制的多种方法

《Nginx访问控制的多种方法》本文系统介绍了Nginx实现Web访问控制的多种方法,包括IP黑白名单、路径/方法/参数控制、HTTP基本认证、防盗链机制、客户端证书校验、限速限流、地理位置控制等基... 目录一、IP 白名单与黑名单1. 允许/拒绝指定IP2. 全局黑名单二、基于路径、方法、参数的访问控制

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

nginx跨域访问配置的几种方法实现

《nginx跨域访问配置的几种方法实现》本文详细介绍了Nginx跨域配置方法,包括基本配置、只允许指定域名、携带Cookie的跨域、动态设置允许的Origin、支持不同路径的跨域控制、静态资源跨域以及... 目录一、基本跨域配置二、只允许指定域名跨域三、完整示例四、配置后重载 nginx五、注意事项六、支持