繁体   English   中英

Internet Explorer全局javascript文件

[英]Internet explorer global javascript files

我正在建立一个PHP MVC网站,并且包含几个js文件。我遇到的问题是,例如,如果我有一个包含函数和所需变量的js文件,则无法在其他js文件中使用它们(我使用document.ready() ,我主要使用jQuery来进行Ajax调用)。 它在Firefox中工作正常,但IE抛出错误...我使用html类包含js文件:

function includeJs($fileName) {
    $data = '<script src="'.BASE_PATH.'/public/js/'.$fileName.'.js" type="text/javascript"></script>';
    return $data;
}

这是我得到的错误:

Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; 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.3; .NET CLR 1.1.4322)
            Timestamp: Thu, 3 Mar 2011 11:53:33 UTC

Message: Expected identifier Line: 26 Char: 21 Code: 0
         URI: http://localhost/learning/public/js/general.js
Message: Object expected Line: 5 Char: 3 Code: 0
         URI: http://localhost/learning/public/js/tests.js

听起来您的js文件中有语法错误,这仅是ie的问题,而不是firefox。

通常,这种类型的错误是数组或对象中的结尾逗号。

例如[1,2,3,]在firefox中有效,但在ie中无效。 为了使它有效,即您需要删除结尾的逗号,因此它看起来像[1,2,3]

对象也是如此,因此如果您拥有{ foo: 1, bar: 2,} ,它将在ie中失败,但在firefox中不会失败。

你麻烦的可能是JQuery!

如果您必须使用JQuery(最新的fab),则不要依赖Google为您托管副本,因为IE8 / 9会看到Google的内容,如果启用了跟踪保护,则跟踪器会阻止.js文件。

由于IE8 / 9可能需要一周的时间才能开始阻止来自Google的文件,所以要解决这个问题确实很痛苦,这也适用于使用HTTPS监视人们的新Google Plus按钮,是的,我偷看了Googles .js来了解我在说什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM