根据http或https协议动态加载JavaScript

Meh*_*vel 4 html javascript https internet-explorer-8

我有一个位于不同服务器的javascript文件,我在http页面上包含了javascript文件

<script type="text/javascript" src="http://www.mydomain.com/scriptfile.js">
Run Code Online (Sandbox Code Playgroud)

或者https像页面一样

<script type="text/javascript" src="https://www.mydomain.com/scriptfile.js">
Run Code Online (Sandbox Code Playgroud)

问题是,我有页面切换httphttps,例如,如果用户在

http://www.mysite.com/home(网站主页)我加载了javascript http,现在当用户导航到其他页面https://www.mysite.com/transaction(网站tranasction url)时,我加载脚本https并且工作正常.如果用户点击https://www.mysite.com/home(主页URL更改为https),则从提到的事务url中,http由于不安全的内容,我加载的脚本失败.我们欢迎任何处理此问题的建议.

lon*_*day 10

该协议是可选的.如果省略它,浏览器将使用文档协议的任何内容.所以你可以这样做:

<script type="text/javascript" src="//www.mydomain.com/scriptfile.js">
Run Code Online (Sandbox Code Playgroud)

将使用正确的协议.


小智 5

使用脚本的协议相对URL:

<script type="text/javascript" src="//www.mydomain.com/scriptfile.js">
Run Code Online (Sandbox Code Playgroud)

这将使用与调用页面相同的协议.