为js脚本加载http和https


Loading both http and https for js scripts

我有一个应用程序,我可以通过http或https访问它们:http://www.test.comhttps://www.test.com在应用程序的标题中,我加载了一个用于宣传的脚本:http://www6.smartadserver.com。如果我使用http:访问应用程序,则会加载公告。如果我使用https访问应用程序,我得到错误:

位于https://www.test.com的页面是通过HTTPS加载的,但请求了一个不安全的脚本http‍://www.smartadserver.com。此请求已被阻止;内容必须通过HTTPS提供。

在应用程序的头部,我有:

<script src='http://www6.smartadserver.com/config.js?nwid=11111' type="text/javascript"></script>
<script type="text/javascript">
    sas.setup({ domain: 'http://www6.smartadserver.com', async: true, renderMode: 0, inSequence: true });
</script>
你能帮我一下吗?

试试:

<script src='//www6.smartadserver.com/config.js?nwid=11111' type="text/javascript"></script>
<script type="text/javascript">
    sas.setup({ domain: '//www6.smartadserver.com', async: true, renderMode: 0, inSequence: true });
</script>
RFC 3986的

Section 4.2提供了完全限定的url,完全省略了协议(HTTP或HTTPS)。当URL的协议被省略时,浏览器会使用底层文档的协议。

所以,通常来说,你可以避免严格设置协议,浏览器会自动选择它。