我有一个网页,以两种不同的方式加载;用户可以单击其链接,它将在同一浏览器窗口中加载该页面;否则可以在JQuery Dialog中查看同一页面,只是该页面的内容区域显示在弹出窗口中。当这个页面加载到主浏览器窗口时,它可以在所有浏览器(所有版本)中正常工作,但是当我在弹出窗口中加载它时,它仅在IE7和IE8中提供混合内容警告。
我花了一整天时间寻找它的根本原因但没有成功。我已经尝试了下面给出的帖子中建议的所有修复:
src="javascript:
代码中没有<script>
“属性。正如您所看到的,我已经尝试了所有在线提供的建议/修复但没有运气。我非常感谢这方面的帮助。
谢谢, 函数naveed
答案 0 :(得分:3)
我花了很长时间研究我自己的版本。最终帮我找到答案的是在IE8模式下使用IE10 - 这给出了一个实际的特定错误。我强烈建议如果你有类似的问题,Fiddler或HttpWatch向你保证你实际上没有加载任何HTTP。
对我而言,问题是使用一个脚本,该脚本将样式表链接附加到头部:
$("head").append('<link href="//example.com/stylesheets/icons" media="screen" rel="stylesheet" type="text/css" />');
IE8通常处理协议相对URL就好了,但显然不是这种情况。我必须提供一个明确的协议:
$("head").append('<link href="'+window.location.protocol+'//example.com/stylesheets/icons" media="screen" rel="stylesheet" type="text/css" />');
丑陋,但功能齐全。希望这能让人有些头疼!
答案 1 :(得分:1)
我终于能够解决这个问题,并在这里发布解决方案,以便在网上搜索根本原因的任何可怜的灵魂。在我的情况下,这是由于在3个不同的标签(例如)上使用无效的“背景”属性导致IE7和IE8仅在这些页面被加载到jquery对话框中时发出混合内容警告。如果直接在浏览器中加载了同一页面,则没有警告。所以我仍然无法理解为什么会这样。可能是一些专家可以阐明为什么它表现得那样。 感谢大家的回复。
答案 2 :(得分:0)
常见的罪魁祸首包括CSS引用的图片,iframe网址和脚本网址。
你说在Fiddler中没有看到HTTP请求;但也许那是因为它目前阻止了非安全资源。告诉您的浏览器获取所有非安全资源并在此之后观看Fiddler。