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加载相对路径脚本的方法 - 汇总的更多相关文章

  1. js 动态加载事件的几种方法总结

    本篇文章主要是对js 动态加载事件的几种方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助   有些时候需要动态加载javascript事件的一些方法往往我们需要在 JS 中动态添 ...

  2. js加载优化三

    Javascript性能优化之异步加载和执行 Author:小欧2013-09-17 随着科技的发展,如今的网站和五六年前相比,现在的人们对web的要求越来越高了,用户体验,交互效果,视觉效果等等都有 ...

  3. 定时器详解和应用、js加载阻塞、css加载阻塞

    1.setTimeout().setInterval()详解和应用 1.1 详解: setTimeout.setInterval执行时机 1.2 存在问题: setInterval重复定时器可能存在的 ...

  4. Java加载资源文件几种方法

    from: http://andyzhu.blog.51cto.com/4386758/775836/ import java.net.URL; import org.springframework. ...

  5. 优化JS加载时间过长的一种思路

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 去年公司在漳州的一个项目中,现场工程人员反映地图部分出图有点 ...

  6. JS 加载html 在IE7 IE8下 可调试

    实际背景 就是都是HTML 公共头部底部  然后中间部分加载不同的HTML文件 有点跟模板引擎一样 jQuery 有个load函数 加载html文件的路径 获取html内容 到中间部分 正常下是不能用 ...

  7. 解决JS加载速度慢

    在网页中的js文件引用会很多,js引用通常为 <script src="xxxx.js"></script> 通过如下方法可以增加js加载速度 <sc ...

  8. FusionCharts简单教程(二)-----使用js加载图像和setDataXML()加载数据

          前面一篇对FusionCharts进行了一个简单的介绍,而且建立了我们第一个图形,但是那个是在HTML中使用<OBJECT>和<EMBED>标记来加载图形的,但是这 ...

  9. [f]动态判断js加载完成

    在正常的加载过程中,js文件的加载是同步的,也就是说在js加载的过程中,浏览器会阻塞接下来的内容的解析.这时候,动态加载便显得尤为重要了,由于它是异步加载,因此,它可以在后台自动下载,并不会妨碍其它内 ...

随机推荐

  1. android里uri和url的区别

    URI :是从虚拟根路径开始的 URI,是uniform resource identifier URL:是整个链接  URI,是uniform resource location uri:file: ...

  2. cinder /etc/lvm/lvm.conf 注意点

    在cinder节点,cinder-volume使用的磁盘(/dev/sdb),需要在/etc/lvm/lvm.conf中配置: devices {...filter = [ "a/sdb/& ...

  3. 使用msm文件创建msi

    一.不使用merge module的ModuleSubstitution和ModuleConfiguration 1.创建MyMsm.msm <?xml version="1.0&qu ...

  4. javascript模拟鼠标双击事件

    通常我们在做开发的时候需要通过单击切换对立事件,简单做了一个模型. <!DOCTYPE html> <html> <head> <title>javas ...

  5. laravel项目安装debugbar

    在github上有laravel项目的debugbar,可以查看项目的页面引用.变量.数据库使用.内存和反应时间等,貌似是一个还不错的小工具,效果如下: 安装地址:https://github.com ...

  6. 内层div的margin-top影响外层div——引出外边距合并Collapsing margins

    内层div的margin-top影响外层div——引出外边距合并Collapsing margins 作者:zccst 今天才算是了解边距合并.正如一位前辈所言,每一个CSS的坑,都让你学到不少知识. ...

  7. python web开发基本概念

    参考了廖雪峰的Python博客. web请求顺序: 浏览器发送一个http请求 服务器收到请求后,生成一个html文档. 服务器将html文档作为http相应的body发送给浏览器 浏览器收到http ...

  8. Selenium2+Python:Webdriver API速记手册

    由于web自动化常常需要控制浏览器行为和操作页面元素,相关函数又比较多,于是再此记下一份Webdriver API查阅文档以备不时之需. 参考:虫师<Selenium2自动化测试实战>,和 ...

  9. StackExchange.Redis 官方文档(三) Events

    事件 ConnectionMultiplexer类型提供了很多可以用来了解表面状态下正在发生着什么的事件.这对日志是很有用的. ConfigurationChanged - ConnectionMul ...

  10. sql语句:if exists语句使用

    ') begin print('exists ') end else begin print('no exists ') end go