I replaced all the ; by some \n but the result is the same, I am using the for approach at the moment. And I have amended all my loop to use var i = 0; thanks for pointing that out :)
On Mar 27, 10:14 pm, Daniel Friesen <[email protected]> wrote: > code += init.join(';')+';'; > > and > > for (i = 0; i < jsl-1; i++) code += init[i]+';'; > > Don't output the same. > For "" the first one will be ";" the second one will stay "" > It's possible that IE has an issue with eval(";"); if I understand this > thread right. > > Side note, you should be using for (var i = 0 > > ~Daniel Friesen (Dantman, Nadir-Seen-Fire) > > Gilles wrote: > > Ok, I don't have the bug anymore, but my script is no longer working > > (and I know why so at least I know where to look) > > > For information purposes all I did was changed this line > > > code += init.join(';')+';'; > > > to this line and the error message went away > > > for (i = 0; i < jsl-1; i++) code += init[i]+';'; > > > only issue is, I use an alert to display code afterward and this is > > what happens: > > > 1. When the first line is used the alert will display the code to eval > > perfectly, but the error message will be there and the code doesn't > > work > > 2. When the second line is used the alert is blank, and of course > > there is no error because it eval(''); > > > Note the jsl-1 is temporary it's just in my example need the ui core > > so removed 1 out of the new length to avoid undefined being inserted > > in the code, at start I thought that it was the reason for the alert > > being blank, but it isn't) > > > Both lines of code works perfectly as expected in FF3 (haven't tried 2 > > yet) and Safari 4 (accordion bit jerky on it like on ie) > >http://codeserenity.com/jquery/scriptless/demo4.html- for demo - code > > same as above but 4, working on it so might not always work :p > > > So my guess is join() and += in IE don't work the same. I don't know > > why the code variable becomes blank tho. The only silly thing I think > > of is maybe the return of eval is ''. My only worry is that if I can > > make it not blank I'll just get the error again. > > > Oh, and only tried on IE7 so far as well for the bug, not IE6 or IE8. > > > On Mar 27, 5:18 pm, Gilles <[email protected]> wrote: > > >> Thanks for that great tip, I'll try to keep that in mind :) > > >> On Mar 27, 3:21 pm, Tony Dillon <[email protected]> wrote: > > >>> Hi Karl, > >>> Boy, these sure are some of the hardest problems to track down.... This is > >>> why I always try to do my comparisons using the format: > > >>> if( 'constant' == $variable ) > > >>> so it gets picked up as an error by the compiler (because of course you > >>> can't assign a variable to a string constant). > > >>> Hope this helps you avoid future problems. > > >>> Be well, > >>> Tony > > >>> On Fri, Mar 27, 2009 at 3:09 PM, Gilles <[email protected]> wrote: > > >>>> Thanks for pointing it out Karl, will go fix that now, can't believe I > >>>> type that wrong. > > >>>> Karl Swedberg wrote: > > >>>>> Hi Gilles, > > >>>>> Not sure about that bug, but wondering if these lines are > >>>>> intentionally assigning the variable rather than testing for equality : > > >>>>> if (d = 'ui') js.push('ui.'+cw); // line 151 > >>>>> else if (d = 'fx') js.push('effects.'+cw); // line > > >>>> 152 > > >>>>> if (d = 'ui') css.push('ui.'+cw); // line 156 > > >>>>> seems they should have == rather than = . > > >>>>> --Karl > > >>>>> ____________ > >>>>> Karl Swedberg > >>>>>www.englishrules.com > >>>>>www.learningjquery.com > > >>>>> On Mar 27, 2009, at 5:06 AM, Gilles wrote: > > >>>>>> Not sure wether it would help or not but here full plugin code. > > >>>>>>http://codeserenity.com/jquery/scriptless/js/jquery.scriptless3.js > > >>>>>> If anyone know how I could get rid off that "Object doesn't support > >>>>>> property" bug on IE I would really appreciate. Any advices and/or tips > >>>>>> on how to improve it would be welcome as well, still learning :) > > >>>>>> On Mar 26, 12:23 pm, John Resig <[email protected]> wrote: > > >>>>>>> I'm not seeing an issue off-hand - could you simplify the code that > >>>>>>> you're trying to execute? For example, does this error only occur if > >>>>>>> getScript is used? > > >>>>>>> --John > > >>>>>>> On Thu, Mar 26, 2009 at 7:15 AM, Gilles <[email protected]> wrote: > > >>>>>>>> Hi, > > >>>>>>>> I normally bebug my code myself, cos I believe it helps me improve > >>>>>>>> myself, but here I just can't figure it out. > > >>>>>>>> basically I am writing a JQuery plugin, that JQuery plugin > >>>>>>>> generate a > >>>>>>>> bit of code that I then eval later. The code is a casacde of > >>>>>>>> getScript > >>>>>>>> with some initialization command being trigger in the middle (when > >>>>>>>> all > >>>>>>>> the getScript are finished) > > >>>>>>>> To make my life easy I thought I use $.globalEval(code) to make sure > >>>>>>>> it works accross all browsers. Like expected no issue with safari 3, > >>>>>>>> safari 4, FF2 or FF3 but as soon as i tried my test page on IE7 > >>>>>>>> everything broke... > > >>>>>>>> And of course I get the well know and very easy to debug error > >>>>>>>> 80020101. > > >>>>>>>> 1. It's not because of comment (none used anywhere) > >>>>>>>> 2. I have tried: > > >>>>>>>> eval(code) > >>>>>>>> eval(code,$) > >>>>>>>> window.eval(code) > >>>>>>>> execScript(code) > >>>>>>>> window.execScript(code) > >>>>>>>> window['code'] = code; window.eval(window['code']) > >>>>>>>> window['code'] = code; eval(window['code']) > >>>>>>>> window['code'] = code; window.execScript(window['code']) > >>>>>>>> window['code'] = code; execScript(window['code']) > >>>>>>>> and many other approach I fund during my search (window.eval || > >>>>>>>> eval) > >>>>>>>> (code.... try {} catch {} etc.... > > >>>>>>>> (debugging IE so tried any stupid way I could think off too which > >>>>>>>> would explain some of the non-valid example above, I was desperate > >>>>>>>> lol) > > >>>>>>>> 3. I have checked and checked the code I am trying to eval and I > >>>>>>>> just > >>>>>>>> don't get it, I am pretty sure it's not a JQuery bug of course, > >>>>>>>> but as > >>>>>>>> I am trying to do this via JQuery it give me an excuse to come and > >>>>>>>> ask > >>>>>>>> the JQuery community and team where the best javascript developers > >>>>>>>> are! (kissing asses sometimes help :p) > > >>>>>>>> Here is the code I am trying to eval: > > >>>>>>>> Unformatted (I tried sending it using return carriage, compressed, > >>>>>>>> with space none of them works) > > >>>>>>>> $.getScript('js/ui.core.js',function(){ > >>>>>>>> $.getScript('js/ui.dialog.js',function(){ > >>>>>>>> $.getScript('js/ui.tabs.js',function(){ > >>>>>>>> $.getScript('js/ui.datepicker.js',function(){ > >>>>>>>> $.getScript('js/ > >>>>>>>> ui.resizable.js',function(){ > >>>>>>>> $.getScript('js/ > >>>>>>>> ui.accordion.js',function(){ > >>>>>>>> $ > >>>>>>>> ('#foo1').dialog({ bgiframe: true, height: 140, modal: > >>>>>>>> true }); > >>>>>>>> $ > >>>>>>>> ('#foo2').tabs({}); $('#date1').datepicker({altField: '#alt', > >>>>>>>> altFormat: 'DD, d MM, yy'}); > >>>>>>>> $ > >>>>>>>> ('#foo3').resizable({ maxHeight: 280, maxWidth: 440, minHeight: > >>>>>>>> 155, minWidth: 200 }); > >>>>>>>> $ > >>>>>>>> ('#foo4').accordion({ icons: { 'header': 'ui-icon-plus', > >>>>>>>> 'headerSelected': 'ui-icon-minus' } }); > >>>>>>>> }); > >>>>>>>> }); > >>>>>>>> }); > >>>>>>>> }); > >>>>>>>> }); > >>>>>>>> }); > > >>>>>>>> 4. One last thing that is weird, also nothing and nothing at all > >>>>>>>> change sometimes it return an object doesn't support this property > >>>>>>>> error instead.... > > >>>>>>>> Here is the code building the code to eval: > > >>>>>>>> // Start creating the code to be eval at the end ( we cascade > >>>>>>>> getScript) > >>>>>>>> for (i = 0; i < jsl; i++) code += '$.getScript(\''+file[i]+'.js > >>>>>>>> \',function(){'; > > >>>>>>>> // Add our init functions (we are inside the callback function of > >>>>>>>> the > >>>>>>>> last getScript) > >>>>>>>> if (init.length > 0) code += init.join('; ')+';'; > > >>>>>>>> // Close all our getScripts > >>>>>>>> for (i = 0; i < jsl; i++) code += '});'; > > >>>>>>>> then just > > >>>>>>>> $.globalEval(code); > > >>>>>>>> to call it (used to test for ie, but got nothing that work with > >>>>>>>> it, so > >>>>>>>> no real point until I can debug the issue. > > >>>>>>>> If anyone can help please let me know I will really appreciate. > > >>>>>>>> Thanks in advance. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "jQuery Development" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jquery-dev?hl=en -~----------~----~----~----~------~----~------~--~---
