我正在使用子域名来减少网站的大小。我只是想从子域链接脚本。当与同一域链接时,脚本工作得很好,但是当与子域链接时,它就不起作用了。例如
my domain = https://www.test.com
子域= http://abc.test.com
,我使用=
<script src= "http://abc.test.com/js/combodate.js" type="text/javascript"></script>
你的错误很明显:
您的主网站url使用https://
,但您的脚本子域使用http://
,并且由于现代浏览器目前有一个完全安全的域策略(没有不同的协议加载资源,所有都应该在与主域相同的协议上,也就是您通过访问网站的那个),您的子域也应该使用https://
或您的主域应该使用http://
。
如上所述在MDN页面的混合内容大多数浏览器只让mixed passive/display content
(<img>
、<audio>
<video>
和<object>(subresources)
)负载通过混合内容,而是<script>
, <link>
, XMLHttpRequest
, <iframe>
, in-css url()
<object>(data attribute)
active content
,因此,可以受到中间人攻击,因此浏览器不允许装载的活动内容在混合环境(tl;博士使用https js和主网站或http js和主要网站)。
还值得注意的是,反向(https://
上的资源和http://
上的主页)按预期工作,因为到资源的https连接不受中间人攻击的影响,并且由于页面在http://
浏览器上,因此不认为它是"安全关键区域",因此您可以通过http://
和https://
加载内容
尝试添加以下内容到您的html页面:
<script src="http://abc.test.com/js/combodate.js" type="text/javascript"></script>
重要的是:
- 确保使用
src
属性 - 确保打开和关闭
<script></script>
标签