Right, I wronte v+e rather than l+e and vice-versa, post updated, new script is here: (function(s,o,l,v,e,d){if(s[o]==null&&s[l+e]){s[l+e](d,function e(){s[v+e](d,e,!1);s[o]="complete"},!1);s[o]="loading"}})(document,"readyState","add","remove","EventListener","DOMContentLoaded");
it works! On Thu, Nov 19, 2009 at 12:00 AM, Andrea Giammarchi < andrea.giammar...@gmail.com> wrote: > Shade, > you used the explanation rather than the minified version (which I am gonna > test now 'cause it worked 'till now) > > the problem is that with the explained code you gonna create a global > DOMContentLoaded function in Internet Explorer and its lovely buggy JScript > engine (function expressions threat as named function declaration) > > if(document.readyState == null && document.addEventListener)(function(){ > > // on DOMContentLoaded event, supported since ages > document.addEventListener("DOMContentLoaded", function DOMContentLoaded(){ > > // remove the listener itself > document.removeEventListener("DOMContentLoaded", DOMContentLoaded, > false); > // assign readyState as complete > document.readyState = "complete"; > > }, false); > // set readyState = loading or interactive > // it does not really matter for this purpose > document.readyState = "loading"; > })(); > > > Above snippet should be fine for IE too, now I gona check my manually > minified version ... it's the same, it should work! > > > > On Wed, Nov 18, 2009 at 11:55 PM, Shade <get...@gmail.com> wrote: > >> Ummm... ammendment: The complete snippet works: >> >> if(document.readyState == null && document.addEventListener){ >> // on DOMContentLoaded event, supported since ages >> document.addEventListener("DOMContentLoaded", function >> DOMContentLoaded(){ >> // remove the listener itself >> document.removeEventListener("DOMContentLoaded", >> DOMContentLoaded, false); >> // assign readyState as complete >> document.readyState = "complete"; >> }, false); >> // set readyState = loading or interactive >> // it does not really matter for this purpose >> document.readyState = "loading"; >> } >> >> But, the minified/re-arranged snippet (the 195 chars) Andrea provided >> does not work. Do you own minification and you'll be fine, just don't >> use what he posted. >> >> --Kyle >> >> >> >> >> On Nov 18, 5:44 pm, Shade <get...@gmail.com> wrote: >> > I have confirmed in this test: >> > >> > http://test.getify.com/archive/dynloadjquery/index6.html >> > >> > ...that Andrea's proposed snippet does in fact "patch a page" to have >> > a proper readyState, assuming of course the snippet itself is >> > guaranteed to run before domready. The test includes it in a manual >> > script tag at the bottom of the page, and then you can click a button >> > to dynamically load jquery into the page, then click the other button >> > to see if jquery's internal ready flag is set properly or not. >> > >> > I used a patched version of jQuery 1.3.2 (1.3.2.1 I called it) which >> > only has the changes to the bindReady() function as they appear in >> > GitHub right now (namely, the additional check for the >> > document.readyState which John landed as a result of that previous bug >> > I linked to earlier in this thread). >> > >> > I tested this just now in both FF3 and 3.5 (both windows), and it >> > works fine. >> > >> > That means, that at least for now, even though patching jquery itself >> > doesn't do much or help anything with the problem of being able to >> > lazy-load jquery core, which my biggest concern/use-case, you can >> > still "patch" a page to be able to lazy-load jquery. That's definitely >> > an improvement. >> > >> > It also means that any code that relies on jquery's test (such as code >> > that uses document.ready) is now also safe to lazy load right along >> > with jquery core itself, as long as doing so in a "patched" page. >> > >> > I'm satisfied that this being included in LABjs will allow users to >> > adequately load jquery.js on-demand without fear of the isReady checks >> > failing later. The only caveat then will be that LABjs has to make >> > sure it's there before dom-ready, but for all the use cases I care >> > about, it's quite unlikely that people will use some other loading >> > technique to lazy-load the Loader itself. >> > >> > --Kyle >> > >> > On Nov 18, 5:03 pm, Már Örlygsson <mar.orlygs...@gmail.com> wrote: >> > >> > >> > >> > > Am I right to think that there's a similar problem with the >> > > window.onload event? >> > > i.e. if you're too late in binding a handler to window.onload, it will >> > > never fire? >> > >> > > -- >> > > Már- Hide quoted text - >> > >> > - Show quoted text - >> >> -- >> >> You received this message because you are subscribed to the Google Groups >> "jQuery Development" group. >> To post to this group, send email to jquery-...@googlegroups.com. >> To unsubscribe from this group, send email to >> jquery-dev+unsubscr...@googlegroups.com<jquery-dev%2bunsubscr...@googlegroups.com> >> . >> For more options, visit this group at >> http://groups.google.com/group/jquery-dev?hl=. >> >> >> > -- You received this message because you are subscribed to the Google Groups "jQuery Development" group. To post to this group, send email to jquery-...@googlegroups.com. To unsubscribe from this group, send email to jquery-dev+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/jquery-dev?hl=.