I don't understand how to apply the workaround.

It's fine to adjust the script which control the loading, and I think your
last workaround say how to do it, but I don't understand it. Could you
please reference my test code?


Paul McLanahan wrote:
> 
> As Norbert just pointed out in the thread "Dynamically Loaded Scripts
> in IE 7 - Problems Found and Lessons Learned", it is a scope issue.
> If the functions in your script file loaded via getScript use either
> of the following two methods (they're synonymous) then the functions
> will not be available in the global scope.
> 
> function myFunc(){}
> 
> var myFunc = function(){}
> 
> However, if you define functions like this:
> 
> myFunc = function(){} // note the lack of "var"
> 
> Then it will be available and work fine.  I've found no fix for this
> in jQuery source. For now we just have to be careful of the scripts we
> load in.
> 
> You can also keep using the first method above and just define the
> variable in the global scope earlier in the script file like so:
> 
> myFunc = myOtherFunc = {};
> function myFunc(){}
> etc...
> 
> This was tested against SVN jQuery and IE7.
> 
> On 11/17/06, Paul McLanahan <[EMAIL PROTECTED]> wrote:
>> Found and patched the problem in ajax.js where $.getScript and
>> $.getJSON don't do anything if a callback isn't supplied.  The problem
>> is that httpData function isn't called from $.ajax unless there is a
>> callback supplied. Someone please commit if it's deemed a good fix.
>> The only other fix is to add an else after the check for s.success in
>> ajax.js on line 778 to look for types that need httpData to run.
>> Something like
>>
>> // If a local callback was specified, fire it
>> if ( s.success )
>>     s.success( jQuery.httpData( xml, s.dataType ), status );
>> else if ( s.dataType=='script' || s.dataType=='json' )
>>     jQuery.httpData( xml, s.dataType );
>>
>> But I think the patch below might be easier... up to you committers.
>>
>> Index: ajax.js
>> ===================================================================
>> --- ajax.js     (revision 603)
>> +++ ajax.js     (working copy)
>> @@ -420,11 +420,7 @@
>>          * @cat AJAX
>>          */
>>         getScript: function( url, callback ) {
>> -               if(callback)
>> -                       jQuery.get(url, null, callback, "script");
>> -               else {
>> -                       jQuery.get(url, null, null, "script");
>> -               }
>> +               jQuery.get(url, null, callback||function(){}, "script");
>>         },
>>
>>         /**
>> @@ -465,7 +461,7 @@
>>          * @cat AJAX
>>          */
>>         getJSON: function( url, data, callback ) {
>> -               jQuery.get(url, data, callback, "json");
>> +               jQuery.get(url, data, callback||function(){}, "json");
>>         },
>>
>>         /**
>>
>>
>> I'm still looking for the IE7 problem.
>>
>> Paul
>>
>>
>> On 11/17/06, John Resig <[EMAIL PROTECTED]> wrote:
>> > I've created a trouble ticket for it here:
>> > http://jquery.com/dev/bugs/bug/407/
>> >
>> > --John
>> >
>> > On 11/17/06, Andrea Ercolino <[EMAIL PROTECTED]> wrote:
>> > >
>> > > Hi everybody.
>> > >
>> > > While developing the PunchCard widget I've found a problem with
>> getScript in
>> > > IE7.
>> > >
>> > > If you are interested in helping me, I've isolated the issue here:
>> > > http://www.mondotondo.com/aercolino/punchcard/test-getScript-error/
>> > >
>> > > Thanks
>> > > Andrea
>> >
>> > _______________________________________________
>> > jQuery mailing list
>> > discuss@jquery.com
>> > http://jquery.com/discuss/
>> >
>>
> 
> _______________________________________________
> jQuery mailing list
> discuss@jquery.com
> http://jquery.com/discuss/
> 
> 

-- 
View this message in context: 
http://www.nabble.com/getScript-error-tf2652417.html#a7410144
Sent from the JQuery mailing list archive at Nabble.com.


_______________________________________________
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/

Reply via email to