简体   繁体   中英

Internet explorer global javascript files

I am building a PHP MVC website and I include several js files.. The problem I encounter is that if I have for example a js file containing functions and needed variables I can't use them in other js files (I call the functions using document.ready() and I use mostly jQuery to make ajax calls). It works fine in Firefox but IE throws an error... I include the js files using a html class:

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

This is the error I'm getting:

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

It sounds like you have a syntax error in your js file that is only a problem for ie and not firefox.

Typically this type of error is a trailing comma in an array or an object.

For instance [1,2,3,] is valid in firefox, but not in ie. To make this valid in ie you need to remove the trailing comma, so it looks like [1,2,3] .

The same goes for objects so if you have { foo: 1, bar: 2,} it will fail in ie but not in firefox.

You trouble could be JQuery!

If you must use JQuery (Latest fab) then don't rely on Googles hosting a copy for you because IE8/9 sees Google for what it is, a tracker and blocks the .js file if tracking protection is turned on.

Real pain to sort out as it can take a week for IE8/9 to start blocking the files from Google and that also goes for the new Google Plus button that uses HTTPS to spy on people and yes i have peeked at Googles .js to know what i am talking about.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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