我的网站在Firefox,Chrome和Safari等其他浏览器中完美加载(尽管速度有点慢)。链接:http://www.dafactopedia.com
直到昨天它才与IE一起工作,但是在我使用闭包编译器压缩我的JavaScript代码后,它似乎没有完全加载。如果我在IE中禁用JavaScript它会打开但不完美。我尝试将已经压缩的Javascripts切换回原始代码,但即使这样也没有用。
我该如何解决这个问题?
我还想知道我是否可以向IE用户显示一条消息,作为临时解决方案切换到其他浏览器。 IE用户约占我访问者的25%,所以至少在我解决IE问题之前,它将作为一个临时解决方案。
请提供帮助,并提前致谢。
更新:网站现在在IE8中打开,但显示消息“页面上的脚本导致浏览器运行缓慢”,我可以选择终止脚本。 我也在Jasper的指导下对IE用户使用了条件评论。感谢
答案 0 :(得分:4)
从the machine detectable errors开始。
顺便说一句,不要comment out your scripts and stylesheets in XHTML(很好,因为它阻止Netscape 2将它们呈现为文本,它在XHTML中反效果。)
答案 1 :(得分:4)
我刚刚在IE8中尝试过,问题似乎不是你的压缩javascript,而是来自adbrite.com的脚本。很可能存在变量冲突或其他一些与其他脚本不兼容的问题。尝试暂时删除adbrite脚本,看看它是否有帮助。以下是我收到的错误的全部细节。
希望它有所帮助。
Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E)
Timestamp: Tue, 16 Feb 2010 09:09:14 UTC
Message: Could not complete the operation due to error 800a03e8.
Line: 52
Char: 1
Code: 0
URI: http://ads.adbrite.com/mb/text_group.php?sid=1493638&zs=3136305f363030&ifr=1&ref=http%3A%2F%2Fstackoverflow.com%2Fquestions%2F2271632%2Fsite-doesnt-load-in-ie
答案 2 :(得分:2)
我在IE6中使用fiddler来查看你的js / picad.js文件根本没有任何正文,这显然意味着你的压缩正在搞乱......
你可以使用雅虎的YUI Compressor安全地缩小你的javascript和css。 Gzipping文件请检查你的压缩代码。
显示IE使用的消息,你可以放置一个隐藏的DIV(style ='display:none')并使用javascript显示它,如果浏览器是IE
我使用此代码来检测IE6
if (typeof document.body.style.maxHeight != "undefined") {
// IE 7, mozilla, safari, opera 9
} else
{// ie6 code }
答案 3 :(得分:2)
为了告知IE6用户最好升级我使用条件评论(以下div只会在IE6中显示):
<!--[if IE 6]>
<div id="upgradebrowserwrapper">
<div id="upgradebrowser">
<b>$#upgradetitle;</b><br/><br/>
$#upgrademessage;<br/><br/>
<a href="http://www.microsoft.com/windows/internet-explorer/default.aspx">$#upgradelinkie;</a><br/>
<a href="http://www.firefox.com/">$#upgradelinkff;</a><br/>
<a href="http://www.apple.com/safari/">$#upgradelinksafari;</a><br/>
<a href="http://www.google.com/chrome">$#upgradelinkchrome;</a><br/>
</div>
</div>
<![endif]-->
http://www.quirksmode.org/css/condcom.html
的更多信息假设该网站不是内部工具,我强烈建议不要忽略更高版本的IE。
答案 4 :(得分:0)
我在Javascript Debugger
的帮助下在IE8中尝试了这个问题错误似乎在行
if (!document.body) document.write('<body>');
document.write("<iframe name='AdBriteFrame_f682da1f_3a94_45e8_8619_048f9b10b3be' width='160' height='600' frameborder='0' scrolling='no'>");
document.write('</iframe>');
document.writeln('<script type="text/javascript"><!--');
document.writeln('AdBriteRender_f682da1f_3a94_45e8_8619_048f9b10b3be();')
document.write('//--></script>');
行
document.write("<iframe name='AdBriteFrame_f682da1f_3a94_45e8_8619_048f9b10b3be' width='160' height='600' frameborder='0' scrolling='no'>");
抛出错误
答案 5 :(得分:0)
该页面发生了很多错误!
第一个是此行的语法错误。您在html中转义js无法正常工作
onclick="somewin=window.open(&#39;http://www.changedetection.com/detect.html&#39;, &#39;ChangeDetectionWiz&#39;,&#39;resizable=yes,scrollbars=yes,width=624,height=460&#39;);somewin.focus();
我会创建一个函数,而不是尝试在html属性中编写代码,或者你可以查看你的字符串搞乱的html / js转义代码。