![](/img/trans.png)
[英]External JavaScript files in Umbraco are not working in Internet Explorer
[英]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.