我正在使用子域来减少网站的大小。我只是想从子域链接脚本。脚本在与同一域链接时工作得非常好,但在与子域链接时不起作用。例如
我的域名= https://www.test.com
sub domain = http://abc.test.com
我正在使用=
<script src= "http://abc.test.com/js/combodate.js" type="text/javascript"></script>
答案 0 :(得分:2)
从我能看到的内容中你的错误非常明显:
您的主网址网址使用https://
,但您的脚本子网域使用http://
,并且现代浏览器目前拥有完全安全域策略(没有不同的加载资源协议,所有应该在与主域名相同的协议,也就是您访问网站的协议,您的子域名也应该使用https://
,或者您的主域名应该使用http://
。
正如MDN's page about mixed content所述,大多数浏览器只允许mixed passive/display content
(<img>
,<audio>
,<video>
和<object>(subresources)
加载混合内容,但是<script>
,<link>
,XMLHttpRequest
,<iframe>
,in-css url()
和<object>(data attribute)
都是active content
,因此可能会成为主题到Man-in-the-middle attack,因此浏览器不允许在混合环境中加载活动内容(tl; dr使用https作为js和你的主网站或http都是js和主网站)。
还值得注意的是,https://
上的资源(http://
和主页上的资源)按预期工作,因为与资源的https连接不受中间人攻击和由于页面在http://
上,因此浏览器不会将其视为&#34;安全关键区域&#34;因此,您可以通过http://
和https://
答案 1 :(得分:-3)
尝试将以下内容添加到您的html页面:
<script src="http://abc.test.com/js/combodate.js" type="text/javascript"></script>
重要的是:
src
属性<script></script>
代码