站点未在IE中加载

时间:2010-02-16 09:05:00

标签: javascript internet-explorer gzip

我的网站在Firefox,Chrome和Safari等其他浏览器中完美加载(尽管速度有点慢)。链接:http://www.dafactopedia.com

直到昨天它才与IE一起工作,但是在我使用闭包编译器压缩我的JavaScript代码后,它似乎没有完全加载。如果我在IE中禁用JavaScript它会打开但不完美。我尝试将已经压缩的Javascripts切换回原始代码,但即使这样也没有用。

我该如何解决这个问题?

我还想知道我是否可以向IE用户显示一条消息,作为临时解决方案切换到其他浏览器。 IE用户约占我访问者的25%,所以至少在我解决IE问题之前,它将作为一个临时解决方案。

请提供帮助,并提前致谢。

更新:网站现在在IE8中打开,但显示消息“页面上的脚本导致浏览器运行缓慢”,我可以选择终止脚本。 我也在Jasper的指导下对IE用户使用了条件评论。感谢

6 个答案:

答案 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(&amp;#39;http://www.changedetection.com/detect.html&amp;#39;, &amp;#39;ChangeDetectionWiz&amp;#39;,&amp;#39;resizable=yes,scrollbars=yes,width=624,height=460&amp;#39;);somewin.focus();

我会创建一个函数,而不是尝试在html属性中编写代码,或者你可以查看你的字符串搞乱的html / js转义代码。