[jQuery] Re: How to Inject style sheets/.CSS
heh. It's late. Sorry. :) Glen On 8/24/07, Erik Beeson [EMAIL PROTECTED] wrote: Not sure. I wonder what would happen if you made a style node and appended html into it. Isn't that what I suggested he do? --Erik
[jQuery] Re: How to Inject style sheets/.CSS
Right, I just noticed that I forgot to put head in quotes. Here's a little test page: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject.html Works in FF2/Mac, Safari 2.0.4, IE6. --Erik On 8/24/07, Pops [EMAIL PROTECTED] wrote: On Aug 25, 1:31 am, Erik Beeson [EMAIL PROTECTED] wrote: This seems to work in FF2/Mac: var myCss = 'p { border: 2px solid #faa; }'; $(head).append('style type=text/css' + myCss + '/style'); I tried something like this, but it didn't seem to take. I drifted into doing something with the link in DOM that I see with FireBug. I figure if Firebug allows you edit it, you can program it too. I figured I can change what wast imported by overwring it with the content in the textarea. Anyway if it worked for you, it should work for me. Lets try it It didn''t take, but I do see it in DOM. Does it need to be eval()? -- HLS
[jQuery] Re: How to Inject style sheets/.CSS
And here's a version that has live updating: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject2.html Tested of FF and Safari. I'm not motivated enough to boot up Parallels to test IE. It seems like it works just like one would expect it to. Quite frankly, I'm a little surprised that it does. --Erik On 8/24/07, Erik Beeson [EMAIL PROTECTED] wrote: Right, I just noticed that I forgot to put head in quotes. Here's a little test page: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject.html Works in FF2/Mac, Safari 2.0.4, IE6. --Erik On 8/24/07, Pops [EMAIL PROTECTED] wrote: On Aug 25, 1:31 am, Erik Beeson [EMAIL PROTECTED] wrote: This seems to work in FF2/Mac: var myCss = 'p { border: 2px solid #faa; }'; $(head).append('style type=text/css' + myCss + '/style'); I tried something like this, but it didn't seem to take. I drifted into doing something with the link in DOM that I see with FireBug. I figure if Firebug allows you edit it, you can program it too. I figured I can change what wast imported by overwring it with the content in the textarea. Anyway if it worked for you, it should work for me. Lets try it It didn''t take, but I do see it in DOM. Does it need to be eval()? -- HLS
[jQuery] Re: How to Inject style sheets/.CSS
Got it, no worries :) Actually, it turns out .html() works on style elements. I wouldn't have expected it to. --Erik On 8/24/07, Glen Lipka [EMAIL PROTECTED] wrote: heh. It's late. Sorry. :) Glen On 8/24/07, Erik Beeson [EMAIL PROTECTED] wrote: Not sure. I wonder what would happen if you made a style node and appended html into it. Isn't that what I suggested he do? --Erik
[jQuery] Re: How to Inject style sheets/.CSS
But doesn't this work because it done in document.ready? I mean, add a button to call a function to do injection upon command. Ok, I got it to work by using .evalScript() script function applyStyle() { var s = $('#juserCSS').text(); $('head').append('style type=text/css'+s+'/ style').evalScripts(); } /script h, didn't I see something in 1.1.4 about evalScripts() being deprecated? Ok, under 1.1.4 it would of worked for me the first time. Great! Thanks fellas! -- HLS On Aug 25, 2:07 am, Erik Beeson [EMAIL PROTECTED] wrote: Right, I just noticed that I forgot to put head in quotes. Here's a little test page: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject.html Works in FF2/Mac, Safari 2.0.4, IE6. --Erik On 8/24/07, Pops [EMAIL PROTECTED] wrote: On Aug 25, 1:31 am, Erik Beeson [EMAIL PROTECTED] wrote: This seems to work in FF2/Mac: var myCss = 'p { border: 2px solid #faa; }'; $(head).append('style type=text/css' + myCss + '/style'); I tried something like this, but it didn't seem to take. I drifted into doing something with the link in DOM that I see with FireBug. I figure if Firebug allows you edit it, you can program it too. I figured I can change what wast imported by overwring it with the content in the textarea. Anyway if it worked for you, it should work for me. Lets try it It didn''t take, but I do see it in DOM. Does it need to be eval()? -- HLS
[jQuery] Re: How to Inject style sheets/.CSS
I don't know about evalScripts, but I was using 1.1.4. It doesn't have to do with doing it in document.ready. See my other response about doing it live. --Erik On 8/24/07, Pops [EMAIL PROTECTED] wrote: But doesn't this work because it done in document.ready? I mean, add a button to call a function to do injection upon command. Ok, I got it to work by using .evalScript() script function applyStyle() { var s = $('#juserCSS').text(); $('head').append('style type=text/css'+s+'/ style').evalScripts(); } /script h, didn't I see something in 1.1.4 about evalScripts() being deprecated? Ok, under 1.1.4 it would of worked for me the first time. Great! Thanks fellas! -- HLS On Aug 25, 2:07 am, Erik Beeson [EMAIL PROTECTED] wrote: Right, I just noticed that I forgot to put head in quotes. Here's a little test page: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject.html Works in FF2/Mac, Safari 2.0.4, IE6. --Erik On 8/24/07, Pops [EMAIL PROTECTED] wrote: On Aug 25, 1:31 am, Erik Beeson [EMAIL PROTECTED] wrote: This seems to work in FF2/Mac: var myCss = 'p { border: 2px solid #faa; }'; $(head).append('style type=text/css' + myCss + '/style'); I tried something like this, but it didn't seem to take. I drifted into doing something with the link in DOM that I see with FireBug. I figure if Firebug allows you edit it, you can program it too. I figured I can change what wast imported by overwring it with the content in the textarea. Anyway if it worked for you, it should work for me. Lets try it It didn''t take, but I do see it in DOM. Does it need to be eval()? -- HLS
[jQuery] Re: How to Inject style sheets/.CSS
Right, I just got it to work too. But I was still at 1.1.3.1 so I had to call evalScripts(). Let me try your script and mine under IE 6.0 Ok, your script gives as soon as you type: Error: Unexpected call to method or property access and with the my button version, I don't see an IE error but it isn't evaluated'. Guys! I am seeing for too much IE browser issues. Where is the Cross broiwser support claim? jQuery seems to only really well work with FF. Is this just one of few instances of IE problems? -- HLS On Aug 25, 2:18 am, Erik Beeson [EMAIL PROTECTED] wrote: And here's a version that has live updating: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject2.html Tested of FF and Safari. I'm not motivated enough to boot up Parallels to test IE. It seems like it works just like one would expect it to. Quite frankly, I'm a little surprised that it does. --Erik On 8/24/07, Erik Beeson [EMAIL PROTECTED] wrote: Right, I just noticed that I forgot to put head in quotes. Here's a little test page: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject.html Works in FF2/Mac, Safari 2.0.4, IE6. --Erik On 8/24/07, Pops [EMAIL PROTECTED] wrote: On Aug 25, 1:31 am, Erik Beeson [EMAIL PROTECTED] wrote: This seems to work in FF2/Mac: var myCss = 'p { border: 2px solid #faa; }'; $(head).append('style type=text/css' + myCss + '/style'); I tried something like this, but it didn't seem to take. I drifted into doing something with the link in DOM that I see with FireBug. I figure if Firebug allows you edit it, you can program it too. I figured I can change what wast imported by overwring it with the content in the textarea. Anyway if it worked for you, it should work for me. Lets try it It didn''t take, but I do see it in DOM. Does it need to be eval()? -- HLS
[jQuery] Re: How to Inject style sheets/.CSS
That's what I get for not testing IE6 with my more complicated example :) I'm not surprised that IE has issues with this. Creating dynamic script tags has been an issue too. IE seems to have a lot of trouble modifying stuff in the head. Here's a version that works on IE, FF, and Safari: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject3.html --Erik On 8/24/07, Pops [EMAIL PROTECTED] wrote: Right, I just got it to work too. But I was still at 1.1.3.1 so I had to call evalScripts(). Let me try your script and mine under IE 6.0 Ok, your script gives as soon as you type: Error: Unexpected call to method or property access and with the my button version, I don't see an IE error but it isn't evaluated'. Guys! I am seeing for too much IE browser issues. Where is the Cross broiwser support claim? jQuery seems to only really well work with FF. Is this just one of few instances of IE problems? -- HLS On Aug 25, 2:18 am, Erik Beeson [EMAIL PROTECTED] wrote: And here's a version that has live updating: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject2.html Tested of FF and Safari. I'm not motivated enough to boot up Parallels to test IE. It seems like it works just like one would expect it to. Quite frankly, I'm a little surprised that it does. --Erik On 8/24/07, Erik Beeson [EMAIL PROTECTED] wrote: Right, I just noticed that I forgot to put head in quotes. Here's a little test page: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject.html Works in FF2/Mac, Safari 2.0.4, IE6. --Erik On 8/24/07, Pops [EMAIL PROTECTED] wrote: On Aug 25, 1:31 am, Erik Beeson [EMAIL PROTECTED] wrote: This seems to work in FF2/Mac: var myCss = 'p { border: 2px solid #faa; }'; $(head).append('style type=text/css' + myCss + '/style'); I tried something like this, but it didn't seem to take. I drifted into doing something with the link in DOM that I see with FireBug. I figure if Firebug allows you edit it, you can program it too. I figured I can change what wast imported by overwring it with the content in the textarea. Anyway if it worked for you, it should work for me. Lets try it It didn''t take, but I do see it in DOM. Does it need to be eval()? -- HLS
[jQuery] Re: Tabs plugin scrolling issue
Renaud wrote: One workaround is to not use history for the tabs. --Klaus Klaus, Thanks! Indeed the problem seems to have disappeared since I've done that. Renaud Yes, for sure. It has to do with changing the URL's fragment identifier to make history possible. --Klaus
[jQuery] Re: How to Inject style sheets/.CSS
Outstanding Erik! Don't blame yourself. We all naturally do the same thing. :-) Ok, I didn't save your first version. What did you change in your old version to this one? We desperately need to know all jQuery concepts that are sensitive to IE. We are a commerical product vendor with a web server so, hate it or not, our corporate customers will have a majority IE base. I just had a conversation the idea day with Chucky Cheese IT manager and we were talking about this. He didn't need to remind me. No excuses. FF is nice and desirable on a person to person basis, but IE is still #1 consideration on a corporation basis. Thats the same across the board. I love jQuery and want to use it but I am continueing to see far too many IE issues either cosmetic or just doesn't function as I keep working with jQuery or even try other people's plug-ins code. I hope JR gets to chance to see this thread. jQuery is taken a life on its own, even if its its night work, to really grab the market place, IE must be supported 100% or just as well as it works under FF. Possible a special section in the docs dedicated to compatibile issues need to be section off. With this, people can help in resolving them with patches and update suggestions. -- HLS On Aug 25, 2:58 am, Erik Beeson [EMAIL PROTECTED] wrote: That's what I get for not testing IE6 with my more complicated example :) I'm not surprised that IE has issues with this. Creating dynamic script tags has been an issue too. IE seems to have a lot of trouble modifying stuff in the head. Here's a version that works on IE, FF, and Safari: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject3.html --Erik On 8/24/07, Pops [EMAIL PROTECTED] wrote: Right, I just got it to work too. But I was still at 1.1.3.1 so I had to call evalScripts(). Let me try your script and mine under IE 6.0 Ok, your script gives as soon as you type: Error: Unexpected call to method or property access and with the my button version, I don't see an IE error but it isn't evaluated'. Guys! I am seeing for too much IE browser issues. Where is the Cross broiwser support claim? jQuery seems to only really well work with FF. Is this just one of few instances of IE problems? -- HLS On Aug 25, 2:18 am, Erik Beeson [EMAIL PROTECTED] wrote: And here's a version that has live updating: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject2.html Tested of FF and Safari. I'm not motivated enough to boot up Parallels to test IE. It seems like it works just like one would expect it to. Quite frankly, I'm a little surprised that it does. --Erik On 8/24/07, Erik Beeson [EMAIL PROTECTED] wrote: Right, I just noticed that I forgot to put head in quotes. Here's a little test page: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject.html Works in FF2/Mac, Safari 2.0.4, IE6. --Erik On 8/24/07, Pops [EMAIL PROTECTED] wrote: On Aug 25, 1:31 am, Erik Beeson [EMAIL PROTECTED] wrote: This seems to work in FF2/Mac: var myCss = 'p { border: 2px solid #faa; }'; $(head).append('style type=text/css' + myCss + '/style'); I tried something like this, but it didn't seem to take. I drifted into doing something with the link in DOM that I see with FireBug. I figure if Firebug allows you edit it, you can program it too. I figured I can change what wast imported by overwring it with the content in the textarea. Anyway if it worked for you, it should work for me. Lets try it It didn''t take, but I do see it in DOM. Does it need to be eval()? -- HLS
[jQuery] Re: How to Inject style sheets/.CSS
Notice I didn't overwrite old versions, I changed the file names. All 3 versions are still there. I just check for IE and remove and re-add the style element instead of changing the contents of it like I do for everything not IE. I think most all of us are sympathetic to IE issues as most of us are working on sites that have to work with it. I've only really had 3 run-ins with IE (mainly IE6): tweaking stuff in the head (like scripts and styles), PNG alpha transparency (which I now address server side instead of client side), and layout inconsistencies. For my particular application, we've decided to accept JavaScript as a requirement, which has improved our quality of life immensely. As a result, we now use Ext for layout, and it works beautifully. So, so much better than keeping different versions of style sheets all over the place in a feeble attempt to keep our (admittedly complicated) layout consistent across browsers. Good luck with it. --Erik On 8/25/07, Pops [EMAIL PROTECTED] wrote: Outstanding Erik! Don't blame yourself. We all naturally do the same thing. :-) Ok, I didn't save your first version. What did you change in your old version to this one? We desperately need to know all jQuery concepts that are sensitive to IE. We are a commerical product vendor with a web server so, hate it or not, our corporate customers will have a majority IE base. I just had a conversation the idea day with Chucky Cheese IT manager and we were talking about this. He didn't need to remind me. No excuses. FF is nice and desirable on a person to person basis, but IE is still #1 consideration on a corporation basis. Thats the same across the board. I love jQuery and want to use it but I am continueing to see far too many IE issues either cosmetic or just doesn't function as I keep working with jQuery or even try other people's plug-ins code. I hope JR gets to chance to see this thread. jQuery is taken a life on its own, even if its its night work, to really grab the market place, IE must be supported 100% or just as well as it works under FF. Possible a special section in the docs dedicated to compatibile issues need to be section off. With this, people can help in resolving them with patches and update suggestions. -- HLS On Aug 25, 2:58 am, Erik Beeson [EMAIL PROTECTED] wrote: That's what I get for not testing IE6 with my more complicated example :) I'm not surprised that IE has issues with this. Creating dynamic script tags has been an issue too. IE seems to have a lot of trouble modifying stuff in the head. Here's a version that works on IE, FF, and Safari: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject3.html --Erik On 8/24/07, Pops [EMAIL PROTECTED] wrote: Right, I just got it to work too. But I was still at 1.1.3.1 so I had to call evalScripts(). Let me try your script and mine under IE 6.0 Ok, your script gives as soon as you type: Error: Unexpected call to method or property access and with the my button version, I don't see an IE error but it isn't evaluated'. Guys! I am seeing for too much IE browser issues. Where is the Cross broiwser support claim? jQuery seems to only really well work with FF. Is this just one of few instances of IE problems? -- HLS On Aug 25, 2:18 am, Erik Beeson [EMAIL PROTECTED] wrote: And here's a version that has live updating: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject2.html Tested of FF and Safari. I'm not motivated enough to boot up Parallels to test IE. It seems like it works just like one would expect it to. Quite frankly, I'm a little surprised that it does. --Erik On 8/24/07, Erik Beeson [EMAIL PROTECTED] wrote: Right, I just noticed that I forgot to put head in quotes. Here's a little test page: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject.html Works in FF2/Mac, Safari 2.0.4, IE6. --Erik On 8/24/07, Pops [EMAIL PROTECTED] wrote: On Aug 25, 1:31 am, Erik Beeson [EMAIL PROTECTED] wrote: This seems to work in FF2/Mac: var myCss = 'p { border: 2px solid #faa; }'; $(head).append('style type=text/css' + myCss + '/style'); I tried something like this, but it didn't seem to take. I drifted into doing something with the link in DOM that I see with FireBug. I figure if Firebug allows you edit it, you can program it too. I figured I can change what wast imported by overwring it with the content in the textarea. Anyway if it worked for you, it should work for me. Lets try it It didn''t take, but I do see it in DOM. Does it need to be eval()? -- HLS
[jQuery] Re: How to Inject style sheets/.CSS
On Aug 25, 3:22 am, Erik Beeson [EMAIL PROTECTED] wrote: Notice I didn't overwrite old versions, I changed the file names. All 3 versions are still there. I just check for IE and remove and re-add the style element instead of changing the contents of it like I do for everything not IE. Yes, I noticed the change, and I added the same IE specific logic to remove the node first, but it still didn't work. So I decided to import jQuery 1.1.4 instead to see if this makes all the difference and POOF!! It now works. I guess its 1.1.4. :-) Ok, I can take it from here. Thanks for the great help. -- HLS
[jQuery] Re: Broken Selector Help
Using new v1.1.4 :has() syntax ... $('#rank-products table.product-table tr:has(table):first-child').addClass(); Brandon-38 wrote: Ugh. LOL. I think I'll just change the DOM, it may be easier that way. Thanks, Karl. Brandon On Aug 24, 10:13 pm, Karl Swedberg [EMAIL PROTECTED] wrote: On Aug 24, 2007, at 9:52 PM, Brandon wrote: Here's the basic HTML: snip the :first-child matches the child table as well, which won't work for me. Is there a way to exclude nested tables? -Brandon Well, technically it's matching the table cell within the the child table, not the child table. But I get what you're saying. To avoid that, you could add a filter that checks to see if the td has only one ancestor table element (in other words, the td isn't in a nested table). Try this: jQuery('#rank-products td:first-child').filter(function() { return $(this).parents('table').length == 1; }).addClass('rank-handle'); - Karl -- View this message in context: http://www.nabble.com/Broken-Selector-Help-tf4326055s15494.html#a12323989 Sent from the JQuery mailing list archive at Nabble.com.
[jQuery] Re: Blueprint and jQuery
On Aug 24, 3:37 pm, Rey Bango [EMAIL PROTECTED] wrote: LOL! It was just a joke George. No worries although he looks like he's about to pounce on something! ;) Yes, I got that, just forgot the smiley! ;)
[jQuery] Re: How to Inject style sheets/.CSS
From: Erik Beeson That's what I get for not testing IE6 with my more complicated example :) I'm not surprised that IE has issues with this. Creating dynamic script tags has been an issue too. IE seems to have a lot of trouble modifying stuff in the head. I'm not aware of any general problems with IE modifying elements in the head. In particular, dynamic script tags have always worked fine for me - and my widget JSON code relies heavily on them. I'd be curious to know any specific problems you've seen in in this area. The problem you ran into is specific to a style element (and would affect a style element whether it's in the head or body). More on that in a minute. Here's a version that works on IE, FF, and Safari: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject3.html That's a clever way to finesse the problem with IE - simply delete the script element and create a new one. You could probably do that for all browsers and skip the IE check. The problem with IE is actually that it doesn't support DOM methods such as appendChild and replaceChild on a style element. Instead, you have to use the style.styleSheet property to manipulate the style element's contents. To illustrate, here is the code I've been using for a while to do this. I use these two functions: // Add a stylesheet to the document and return a reference to it function addStyle( css ) { var style = document.createElement( 'style' ); style.type = 'text/css'; var head = document.getElementsByTagName('head')[0]; head.appendChild( style ); if( style.styleSheet ) // IE style.styleSheet.cssText = css; else // other browsers style.appendChild( document.createTextNode(css) ); return style; } // Replace the entire contents of a stylesheet function changeStyle( style, css ) { if( style.styleSheet ) // IE style.styleSheet.cssText = css; else // other browsers style.replaceChild( document.createTextNode(css), style.firstChild ); return style; } To initialize things, I call: var styles = addStyle( '' ); Then, each time I want to reload the styles, I make this call: changeStyle( styles, css ); Where css is the text of one or more CSS rules - not including any style tags, just the CSS itself. (I could specify styles in the addStyle call, but usually I leave it empty and add them in the changeStyle call.) This code is very efficient - certainly more so than the jQuery code - but in practical terms that may not make any difference. -Mike
[jQuery] Re: How to Inject style sheets/.CSS
I'm not aware of any general problems with IE modifying elements in the head. When I said stuff in the head, I didn't really mean to emphasize the head, just that I've experienced problems with both script and style in IE. In particular, dynamic script tags have always worked fine for me - I know $('head').append('script type=text/javascript src=.../' + 'script') has not worked in IE in previous versions of jQuery, but I haven't tried it lately. That's a clever way to finesse the problem with IE - simply delete the script element and create a new one. You could probably do that for all browsers and skip the IE check. True, but I assumed the not IE way would be more efficient, and I hate writing dumber code to pander to IE. Thanks for the info on doing it natively. Is this something that might make sense to add to the jQuery core, if not just for consistency? I don't expect jQuery to be a full String parser, but since it seems that it pretty much already is, might it make sense to address this so it works consistently? --Erik
[jQuery] Re: Release: Accordion 1.5
Jack Killpatrick schrieb: Jörn, happy to have this, thx! Question: is it possible to set the height of individual accordion panels? Perhaps that goes against the grain of an accordion's bottom edge staying in place, but in my use case it would be ok if the bottom moved up and down as the user moved through the panels. I have some panels with a bunch of content, which would have scrollbars appear (fine), but some of the panels have very little content and in this case I'd like to prevent a big gob of whitespace at the bottom of them, by tweaking the height for that panel a bit. Thanks for bringing this up. I need a bit more math to support that together with the new animation system. -- Jörn
[jQuery] Re: $(this) after using ajaxForm from the Form plugin?
Just a note, I tried your methods and using $form didn't work. Andy, Here's an example using your code: http://malsup.com/jquery/form/andy.html Mike
[jQuery] Re: Broken Selector Help
Using new v1.1.4 :has() syntax ... $('#rank-products table.product-table tr:has(table):first-child').addClass(); Excellent! Come to think of it, this approach is possible with the deprecated syntax, too: $('#rank-products table.product-table tr[table]:first- child').addClass(); --Karl _ Karl Swedberg www.englishrules.com www.learningjquery.com On Aug 25, 2007, at 3:56 AM, Wizzud wrote: Brandon-38 wrote: Ugh. LOL. I think I'll just change the DOM, it may be easier that way. Thanks, Karl. Brandon On Aug 24, 10:13 pm, Karl Swedberg [EMAIL PROTECTED] wrote: On Aug 24, 2007, at 9:52 PM, Brandon wrote: Here's the basic HTML: snip the :first-child matches the child table as well, which won't work for me. Is there a way to exclude nested tables? -Brandon Well, technically it's matching the table cell within the the child table, not the child table. But I get what you're saying. To avoid that, you could add a filter that checks to see if the td has only one ancestor table element (in other words, the td isn't in a nested table). Try this: jQuery('#rank-products td:first-child').filter(function() { return $(this).parents('table').length == 1; }).addClass('rank-handle'); - Karl -- View this message in context: http://www.nabble.com/Broken-Selector- Help-tf4326055s15494.html#a12323989 Sent from the JQuery mailing list archive at Nabble.com.
[jQuery] Re: jQuery 1.1.4: Faster, More Tests, Ready for 1.2
I find slice very useful method. I just wanted to post a little tutorial about selecting a range of elements, but now, there's no need for that. No more filter().filter(). (beside that I made keyboard shortcut for that snippet). -- Dragan Krstić krdr http://krdr.ebloggy.com/
[jQuery] Re: How to Inject style sheets/.CSS
On Aug 25, 8:58 am, Erik Beeson [EMAIL PROTECTED] wrote: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject3.html That is slick, Erik :). You know... in case you've got tons of extra energy and time... with a bit of hacking (well, a week or three of work), you could turn that into a point-n-click CSS experimentation/prototyping tool. :)
[jQuery] Re: Very confused!
Scott, Thanks for that replace tip. I've stopped using replace and am now getting what I want. Weird! Matt
[jQuery] Re: Very confused!
On Aug 24, 3:10 pm, Scott Sauyet [EMAIL PROTECTED] wrote: var new_name = n.replace(/\[\d?\]/, '[' + OINDEX + ']'); For your code you don't need the \d?, because your template doesn't have a number in it. That said, your template code is incorrect: JQ(tpl).find('[EMAIL PROTECTED]').each(function(){ Carefully count the [ and ] characters in that string and you'll find that they're mismatched and cannot match your regex: var new_name = n.replace(/\[\d?\]/, '[' + OINDEX + ']'); Also, it wouldn't surprise me if you need to escape the [ and ] inside the find() command, as detailed in the FAQ: http://docs.jquery.com/Frequently_Asked_Questions#How_do_I_select_an_element_that_has_weird_characters_in_its_ID.3F But apparently your working example demonstrates that that's not necessary. THAT i can't explain, though. :)
[jQuery] Re: New Plugin: Live Query (previously called Behavior)
I was just thinking. We should combine the live query plugin with the PNGFix plugin, so that dynamically added PNGs would get fixed. Really important for Ajax Apps. Glen On 8/19/07, Brandon Aaron [EMAIL PROTECTED] wrote: Some of you may be familiar with Behavior. It was a first attempt at implementing a live DOM experience. Behavior has been rewritten from the ground up with performance in mind and new features. It is now called LiveQuery. A couple of new features are that: * Live Queries work with attribute and class selectors * Live Query automatically unbinds events to unmatched elements and when the Live Query is expired * Live Query can fire a second callback for when an element is unmatched and when the Live Query is expired Check out the blog post for more details: http://blog.brandonaaron.net/2007/08/19/new-plugin-live-query/ -- Brandon Aaron
[jQuery] Re: Keeping a mouseover-triggered animation from running
Anyone? On Aug 24, 3:40 pm, Gordon [EMAIL PROTECTED] wrote: I had a look at hoverIntent, but while it does seem to make the problem occur less often it doesn't prevent it entirely. Here's an example that illustrates the problem I'm having (using hover instead of hoverIntent so that the problem is more obvious) !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd; html xmlns=http://www.w3.org/1999/xhtml; xml:lang=en lang=en head meta http-equiv=Content-Type content=text/html; charset=utf-8 / titleHovering test/title style type=text/css #cgtrGrid { position: relative; z-index: 1; width: 769px; height: 370px; margin: 0px; padding: 2px; overflow: hidden; border: solid 1px;} #cgtrGrid li.product { display: block; position: absolute; background: #E8E8E8; padding: 0px; border: solid 1px #00; overflow: hidden; font-size: 10px; white-space: nowrap; list-style: none outside; margin: 3px; } /style script type=text/javascript src=/js/jquery/jquery.js/script script type=text/javascript var zoomed = false; var domCache= new Object (); var normalWidth = 146; var normalHeight= 66; function zoom () { console.log (this); if (!zoomed) { zoomed = true; thisElem= $(this); var thisCol = Math.floor (domCache [this.id].left / normalWidth); thisElem.css ('zIndex', 100).animate ({ width : (763) * 0.6, height : 362, top : 2, left: (763 * 0.4) * (thisCol / 4) }, 'normal'); } return (false); } function unzoom () { var thisElem= $(this); thisElem.animate ({ width : normalWidth, height : normalHeight, top : domCache [this.id].top, left: domCache [this.id].left }, 'normal', function () { zoomed = false; thisElem.css ('zIndex', 0); }); return (false); } $(document).ready (function () { $('.product').each (function () { var thisElem = $(this); domCache [this.id] = new Object ({ top : parseInt (thisElem.css ('top')), left: parseInt (thisElem.css ('left')) }); }); $('.product').hover (zoom, unzoom);}); /script /head body ol id=cgtrGrid li class=product id=list_HPN0115 style=top: 2px; left: 2px; width: 146px; height: 66px;This is a test/li li class=product id=list_TOSAT352 style=top: 2px; left: 156px; width: 146px; height: 66px;This is a test/li li class=product id=list_LENNB064 style=top: 2px; left: 310px; width: 146px; height: 66px;This is a test/li li class=product id=list_ACNB8064 style=top: 2px; left: 464px; width: 146px; height: 66px;This is a test/li li class=product id=list_ACNB0573 style=top: 2px; left: 618px; width: 146px; height: 66px;This is a test/li li class=product id=list_ACNB8060 style=top: 76px; left: 2px; width: 146px; height: 66px;This is a test/li li class=product id=list_ACNB0572 style=top: 76px; left: 156px; width: 146px; height: 66px;This is a test/li li class=product id=list_SONB0205 style=top: 76px; left: 310px; width: 146px; height: 66px;This is a test/li li class=product id=list_HPN0103 style=top: 76px; left: 464px; width: 146px; height: 66px;This is a test/li li class=product id=list_TOSAT355 style=top: 76px; left: 618px; width: 146px; height: 66px;This is a test/li li class=product id=list_SONB0182 style=top: 150px; left: 2px; width: 146px; height: 66px; This is a test/li li class=product id=list_SONB0202 style=top: 150px; left: 156px; width: 146px; height: 66px;This is a test/li li class=product id=list_ACNB8055 style=top: 150px; left: 310px; width: 146px; height: 66px;This is a test/li li class=product id=list_SONB0187 style=top: 150px; left: 464px; width: 146px; height: 66px;This is a test/li li class=product id=list_HPN0102 style=top: 150px; left: 618px; width: 146px; height: 66px;This is a test/li li class=product id=list_SONB0210 style=top: 224px; left: 2px; width: 146px; height: 66px;This is a test/li li class=product id=list_SONB0204 style=top: 224px; left: 156px; width: 146px; height: 66px;This is a test/li li class=product id=list_SONB0188 style=top: 224px; left: 310px; width: 146px; height: 66px;This is a test/li li class=product id=list_HPN0072 style=top: 224px; left: 464px; width: 146px; height: 66px;This is a test/li
[jQuery] Re: How to Inject style sheets/.CSS
I know $('head').append('script type=text/javascript src=.../' + 'script') has not worked in IE in previous versions of jQuery, but I haven't tried it lately. That works in 1.1.4. --John
[jQuery] Re: How to Inject style sheets/.CSS
Thats exactly what I am woking on - a tool. What I have been currently doing is a SSI to adds code for an css file textarea box, then via ajax, save it and then reload the page. Via jQuery/Native code it will make more live now. But its meaningless (to me) if you can't save the file back to the original link file, otherwise you just need to remember to copy/paste it into some (css) file. -- HLS On Aug 25, 10:13 am, Stephan Beal [EMAIL PROTECTED] wrote: On Aug 25, 8:58 am, Erik Beeson [EMAIL PROTECTED] wrote: http://erikandcolleen.com/erik/projects/jquery/cssinject/cssinject3.html That is slick, Erik :). You know... in case you've got tons of extra energy and time... with a bit of hacking (well, a week or three of work), you could turn that into a point-n-click CSS experimentation/prototyping tool. :)
[jQuery] Re: It is possible to do in js with jquery?
I did it! :-) If yo can take a look here you can see the script in his MAGNIFYcient shape :-) http://www.gianiaz.net/jquery/magnify/lente.html I have a few question: 1. I've tried to create vml elements with jquery syntax, something like this: $vml = $('v:oval').appendTo(divStruttura); But it seems it doesn't work, it is my fault or jquery can't handle this type of elements? In firefox I've got an error when images are not loaded in time, when you have the image in cache everithing works fine.. How can I solve? Thank for your support. p.s. I've tested it in IE6, IE7 and Firefox
[jQuery] Re: It is possible to do in js with jquery?
On Aug 25, 6:17 pm, gianiaz [EMAIL PROTECTED] wrote: $vml = $('v:oval').appendTo(divStruttura); But it seems it doesn't work, it is my fault or jquery can't handle this type of elements? To create DOM elements, jQuery passes on the element string to your browser and lets the browser create the DOM. Then jQuery works with the DOM elements instead of the HTML/XML. (This is, in fact, the only sensible way to implement the DOM-generation parts of jQuery.) That means that jQuery supports only elements which the browser's internal DOM engine supports.
[jQuery] Re: Blueprint and jQuery
absolutely make it available! just another bonus for the jquery community :) thx. On 8/24/07, george.gsgd [EMAIL PROTECTED] wrote: Building on the work done by matz in auto generating grids (http:// kematzy.com/blueprint-generator/). I've been working on a javascripty dynamicly resizing grid using jQuery. Have a look at the demo here: http://gsgd.co.uk/sandbox/blueprint/ Feedback much appreciated. Is it worth making available as a download? Worth a proper write up? I've not tested on Safari/Opera/Konqueror yet. Thanks, George.
[jQuery] Re: Can the $.ajax(properties) go across domains?
Pops escribió: SeVir, Just a small note, this is cool for trusted requests which you initiate. But IE 6.0 and Opera 9.10 doesn't like it. Should it work under IE and Opera? I explain this technique in my Web Services with JavaScript course. Tested in: Firefox 1.0 + (Win Lin) IE 5.5, 6 7 Opera 9+ Safari 3 (win) Konqueror 3.5 (Lin) In fact, I said, internally Google API (Maps, Finances, ...) use the same method, you can see that using Firebug in Google Maps ;-) -- HLS On Aug 24, 8:16 am, SeViR [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] escribió: I'm trying to get a json object from a sub-domain but keep getting a $.ajax is not cross-side domain, because XMLHttpRequest is not cross-side domain. You can use jsonp with: var script_call = document.createElement(script); script_call.type = text/javascript; script_call.src = http://sub.domain.tld/data?callback=mycallback;; $(head)[0].appendChild(script_call); function mycallback(data){ alert(data); //example } JSON RESPONSE IS: mycallback( { jsondata: somthing, another: ey } ); Works for me, using Yahoo Services, Flickr, Amazon, Google API use internally the same. -- Best Regards, José Francisco Rives Lirola sevir1ATgmail.com SeViR CW · Computer Design http://www.sevir.org Murcia - Spain -- Best Regards, José Francisco Rives Lirola sevir1ATgmail.com SeViR CW · Computer Design http://www.sevir.org Murcia - Spain
[jQuery] Re: Can the $.ajax(properties) go across domains?
I had some problems inserting dinamically script tags in IE, Opera, ... with jQuery append() method. Using DOM native method works well :-) $(head)[0].appendChild(script_call); //My example instead of: $('head',document).append( script ); //JSON for jQuery Pops escribió: On Aug 24, 12:50 pm, Michael Geary [EMAIL PROTECTED] wrote: You can either use my JSON plugin, or similar code like José posted in his reply. http://mg.to/2006/01/25/json-for-jquery Mike, When I used your plugin, IE 6.0 displays Error: Object doesn't support this property or method Opera 9.1 also fails. The same failure with jose's post too. Is this suppose to work under IE? Or is JSONP only a FF thing? I have not tried IE7 -- HLS -- Best Regards, José Francisco Rives Lirola sevir1ATgmail.com SeViR CW · Computer Design http://www.sevir.org Murcia - Spain
[jQuery] Re: Can the $.ajax(properties) go across domains?
Pops escribió: On Aug 24, 12:50 pm, Michael Geary [EMAIL PROTECTED] wrote: You can either use my JSON plugin, or similar code like José posted in his reply. http://mg.to/2006/01/25/json-for-jquery Mike, When I used your plugin, IE 6.0 displays Error: Object doesn't support this property or method Opera 9.1 also fails. The same failure with jose's post too. Sounds some problem with an object, what is the line of the error?. In my example I use native DOM and one jQuery selection. Using native DOM completely: var script_call = document.createElement(script); script_call.type = text/javascript; script_call.src = http://sub.domain.tld/data?callback=mycallback;; var head = document.getElementsByTagName(head); head[0].appendChild(script_call); function mycallback(data){ alert(data); //example } Is this suppose to work under IE? Or is JSONP only a FF thing? I have not tried IE7 -- HLS -- Best Regards, José Francisco Rives Lirola sevir1ATgmail.com SeViR CW · Computer Design http://www.sevir.org Murcia - Spain
[jQuery] how find this value
I have this table: table width=98% cellspacing=3 cellpadding=3 border=0 class=cnu thead tr thstrongOperatii/strong/th thstrongTIP /strong/th thstrongDenumire articol sau serviciu/ strong/th thstrongUM/strong/th /thead /tr tr tdinput type=button class=button ccc name=salvezidarticol id=salvezidarticol value=Salvez/ input type=hidden value=1 name=codintern id=codintern class=codint//td td class=class_td select id=idfelp name=idfelp option value=7Alte mat. consumabile/option option value=9Ambalaje/option option value=13Amenajari provizorii/option option value=5Combustibili/option option value=17Discount iesiri/option /select/td td class=strongBISCUITI/strong/td td class=class_tdstrongcut/strong/td td class=class_tdstronginput type=text value=19.00 size=2//strong/td /tr tr tdinput type=button class=button ccc name=salvezidarticol id=salvezidarticol value=Salvez/ input type=hidden value=2 name=codintern id=codintern class=codint//td td class=class_td select id=idfelp name=idfelp option value=7Alte mat. consumabile/option option value=9Ambalaje/option option value=13Amenajari provizorii/option option value=5Combustibili/option option value=17Discount iesiri/option /select/td td class=strongCAFEA/strong/td td class=class_tdstrongkg/strong/td td class=class_tdstronginput type=text value=19.00 size=2//strong/td /tr tr tdinput type=button class=button ccc name=salvezidarticol id=salvezidarticol value=Salvez/ input type=hidden value=3 name=codintern id=codintern class=codint//td td class=class_td select id=idfelp name=idfelp option value=7Alte mat. consumabile/option option value=9Ambalaje/option option value=13Amenajari provizorii/option option value=5Combustibili/option option value=17Discount iesiri/option /select/td td class=strongTRUSA SCULE/strong/td td class=class_tdstrongbuc/strong/td td class=class_tdstronginput type=text value=19.00 size=2//strong/td /tr tr tdinput type=button class=button ccc name=salvezidarticol id=salvezidarticol value=Salvez/ input type=hidden value=4 name=codintern id=codintern class=codint//td td class=class_td select id=idfelp name=idfelp option value=7Alte mat. consumabile/option option value=9Ambalaje/option option value=13Amenajari provizorii/option option value=5Combustibili/option option value=17Discount iesiri/option /select/td td class=strongCIOCOLATA/strong/td td class=class_tdstrongbuc/strong/td td class=class_tdstronginput type=text value=19.00 size=2//strong/td /tr tr tdinput type=button class=button ccc name=salvezidarticol id=salvezidarticol value=Salvez/ input type=hidden value=5 name=codintern id=codintern class=codint//td td class=class_td select id=idfelp name=idfelp option value=7Alte mat. consumabile/option option value=9Ambalaje/option option value=13Amenajari provizorii/option option value=5Combustibili/option option value=17Discount iesiri/option /select/td td class=strongDISCOUNT IESIRI/strong/ td td class=class_tdstrongbuc/strong/td td class=class_tdstronginput type=text value=19.00 size=2//strong/td /tr /thead /table How find value of input type=hidden on click on button name Salvez,but value of select with id =idfelp Thank you.
[jQuery] Error with Ajax Submit with Form plugin in IE
Hi all, In my web application, the user is able to fill in a contact form, which will send an e-mail on submit. I am using the official Form plugin. The form plugin is working perfectly in Mozilla, but not in IE6. Check the foillowing example : http://matthew16.free.fr/temp/contact-form.php When I submit the form in Mozilla, the content div is replaced by the string returned by the php code. in IE6, a new page is opened, like the ajax is not working. I also noticed in IE6 that my javascript generates an error. Thank you for any help ! $(document).ready(function(){ var options = { target:'#contentwide', // target element(s) to be updated with server response beforeSubmit: showRequest, // pre-submit callback success: showResponse // post-submit callback }; $(#form_contact).validate({ submitHandler: function(form) { $(form).ajaxSubmit(options); }, event: blur, rules: { lastname: required, address: required, city: required, phone: required, email: { required: true, email: true }, emailbis: { required: true, email: true, equalTo: #email } }, messages: { lastname: { required: brIndiquez votre nom de famille. }, address: { required: brIndiquez votre adresse. }, city: { required: brIndiquez votre ville. }, phone: { required: brIndiquez votre numéro de téléphone. }, email: { required: brIndiquez votre e-mail., email: brIndiquez une e-mail valide. }, emailbis: { required: brConfirmer votre e-mail., email: brIndiquez une e-mail valide., equalTo: brEntrez le même e-mail. } } }); }); // pre-submit callback function showRequest(formData, jqForm, options) { var queryString = $.param(formData); return true; } // post-submit callback function showResponse(responseText, statusText) { } -- View this message in context: http://www.nabble.com/Error-with-Ajax-Submit-with-Form-plugin-in-IE-tf4328848s15494.html#a12328680 Sent from the JQuery mailing list archive at Nabble.com.
[jQuery] Re: Can the $.ajax(properties) go across domains?
From: Michael Geary You can either use my JSON plugin, or similar code like José posted in his reply. http://mg.to/2006/01/25/json-for-jquery From: Pops When I used your plugin, IE 6.0 displays Error: Object doesn't support this property or method Opera 9.1 also fails. The same failure with jose's post too. Is this suppose to work under IE? Or is JSONP only a FF thing? I have not tried IE7 The dynamic script tag that the plugin uses works in all modern browsers except certain versions of Safari (broken in 1.2 and below, working in 1.3, broken in 2.0.0, fixed in either 2.0.1 or 2.0.2). It certainly works in IE6, IE7, and Opera - I have production code that relies on this. When I've had errors like this myself, it's always been an error in my JSON syntax. If nothing jumps out at you, can you post a URL or a copy of your JSON response from the server? Or copy your JSON response into a piece of JavaScript code wrapped up like this: var test = ({your:json,data:here}); and see if a page containing that code will load successfully. -Mike
[jQuery] Re: jQuery 1.1.4: Faster, More Tests, Ready for 1.2
Couldn't you just use beforeSend to intercept the XMLHttpRequest object and add your own callback handlers to it directly? You'll have to put up with all of the aforementioned memory leak issues, but you'd get access to all of the state changes that you're looking for... --Erik On 8/25/07, Pops [EMAIL PROTECTED] wrote: Dan, Thats exactly how I do look at code - always. I am a commercial developer. Products are used across the board. It is was one reason we avoided using javascript for many years (or atleast not these more advanced levels). In this case, I don't think setting a timer and bypassing the implemented xmlhttpRequest() state machine protocol would work consistently. To illustrate my point, you already get different behavior on what states are skipped and changing the frequency will give you different behavior. On the other hand, each protocol is designed to behave to provide each state and it must be signaled - otherwise it is really broken and something the vendor must address pronto. That should not be jQuery's responsibility. In my products development experience, when you begin to kludge in solutions to get around a specific vendor problem, while that may work in the interim, that generally invites inconsistencies. jQuery is not cross browser ready in my opinion. Far too many items are not being tested well enough with IE. Of course, whats fundamentally different is the open source mentality. The idea of using open source is relatively new for me. All the old reasons for not using it, are the same if you catch my drift. Yet, that is the way it is today. Can't no longer ignore it. So it takes a different mindset to get use to it - the idea of accepting lower quality software as is (and I am not saying jQuery is low quality) than what it normally would expected to be in a commercial environment. Of course, being that is open source, give the community the power to analyze the code - and I can't help myself, its in my nature to look at these things. You know whats difference? Unlike the past with free software, no longer are you seeing the proverbial - Its free, stop complaining. g So thas good atleast - the professionalism is growing in the open source world. -- HLS On Aug 24, 10:17 pm, Dan G. Switzer, II [EMAIL PROTECTED] wrote: Pops, Ok, there is always a reasons for something. I appreiciate you taking the timeout to share it. One thing to keep in mind is that jQuery is intended to be a cross-browser library. Just because the XHR object works one in one browser, does not mean it works correctly in all the browsers on all platforms. The goal is to provide a consistent behavior across all browsers and platforms whenever possible. Just keep that in mind when looking at code... -Dan
[jQuery] Re: jQuery's Fearless Leader on Ajaxian
From: Michael Geary Before I forget, Hector, in the future could you start a new thread for a new topic like this? (And don't just change the subject line - start a new message.) From: Pops Ok, I will make it an effort to live the same topic rules we also impose in our own support forums. But frankly, I must say, you are beginning to annoy me with your not once, not twice, not three, but now the forth time you are in one way or another moderating or pointing out some silly thing to me. The decision to change topics is highly subjective, but yes, I know better to do it the appropiate time. I just didn't and it also cross my mind that someone else might do it depending on deep it got. So please stop. Its annoying. My friend, the only other message I've posted to you that was anything like moderating or pointing out some silly thing was this one: First, let's call it jQuery, not JQUERY, so no one thinks you're shouting. :-) I have no idea what the other messages you're talking about are, but they weren't from me. I thought both of those were perfectly reasonable suggestions, and I wasn't disrespectful toward you in any way - especially when you take this in the context of all the helpful messages I've posted for you. But if you see it differently, I apologize. (And if you want to discuss it further, let's take it offline to not bore the group.) Not a biggie, and I've hijacked threads myself, but starting a new thread helps people follow the conversations. Sure, but believe it or not, the odds are extremely high I've been cyberspacing far longer than you, maybe not, nonetheless, I know everything there is about it. I've been developing mail products (at all levels) since the 80s and you not going to find many people out that match my credentials in this area. Cool, I'm glad I'm not the only old-timer here. I've been online since 1968, worked at an early timesharing company during the 70's, and I wrote the first email client for PCs in 1982. It had a complete GUI using character mode graphics and supported all the email services of the day along with point-to-point email transfers. Actually, JavaScript *does* support local scoping, it just doesn't do it at every curly brace. Every nested function has its own local scope, and you can use an inline anynomous function to introduce a local scope anywhere you want: function test() { var i = 1; (function() { var i = 2; console.log( i ); // logs 2 })(); console.log( i ); // logs 1 } Not the same. You modularized the code, thus creating a new function stack prolog and epilog. I don't follow you here. It's just an example of how you would translate a C idiom (forgive me if the syntax is off, my C is rusty): function test() { int i = 1; // nested scope { int i = 2; log( i ); // logs 2 } log( i ); // logs 1 } into JavaScript. The nested anynomous function introduces a local scope that works just like the inner block in C. (The syntax and implementation are different, of course, but the concept is the same.) JavaScript initializes all variables to the undefined value, whose type is undefined. I believe you nean undefined not the string undefined. It's funny you should mention that, because I actually paused when I wrote it and thought about whether I should use the quotes or not. For the first undefined (the undefined value) it was a tossup, but for the second one (whose type is undefined) I did use the quotes deliberately: var foo; alert( typeof foo ); // undefined alert( typeof typeof foo ); // string So, there is a type whose name is literally the string undefined. That type has a single value, which we call the undefined value (or undefined value, take your pick). But that value doesn't actually have any name or symbol in the core JavaScript language. For convenience, modern browsers define a window.undefined property which contains this undefined value. jQuery also defines this property for older browsers: window.undefined = window.undefined; which is internal constant for null which in most language is a zero value concept. Not in JavaScript. The undefined value is not the same as null, and neither is the same as zero. The == operator does type conversions that cause null and undefined to compare equal. That's why your comparisons below work the way they do. If you use the strict === operator, then undefined and null are not equal. In other words, if you expected to be null, this is to common practice: var i; if (i == 0) alert(i is zerol); // false if (i == null) alert(i is null); // true if (i == undefinedl) alert(i is undefinedl);// true if (i == 'undefined'l) alert(i is 'undefined'); // false which is correct, Most RTEs will load low (zero out). Some systems will even load high,
[jQuery] Re: jQuery 1.1.4: Faster, More Tests, Ready for 1.2
Eric, anyone can come up with a solution. But if we strictly talking about jQuery and using it in an optimized, reliable, maximum support possible, then no. I think the patch I illustrated resolves the issues. Overall, my thoughts are: 1) Not defining the readystatechange, the protocol is run synchronously. You put more pressure on the user agent by doing this. Which is fine, if the developers wants to do that, but jQuery is forcing XmlHttpRequestion() synchronous operations always, 2) The capture of states in indeterminate. With jQuery's implementation, it is erronounsly emulation a call back with the timer, but peeking into the instantiated XmlHttpRequest object. Without using locks, this is fundamentally a flawed designed bound to bite you and/or give youi intermittent odd behavior or inconsistent results. 3) It ignories the state machine of the protocol and any optimize/ improvings it may do, and/or any future transparent considerations it may make, i.e, fix a leak, optimze it, etc. Take a look the WC3.ORG specification: http://www.w3.org/TR/XMLHttpRequest/ You (speaking in general) don't want to go against the described protocol state machine (the flow and steps). You want to work with it because that is how each conforming user agent (browser) MUST behave. Here is the key statement: User agents may optimize any algorithm given in this specification, so long as the end result is indistinguishable from the result that would be obtained by the specification's algorithms. In other words, jQuery MUST conform to the specification protocol design expectation. Just consider the following example provided at the W3.ORG site.. You can't do this in jQuery:: if(this.readyState == 3) { print(this.getAllResponseHeaders()); } because the jQuery external method skips loading.step (3). Also, it appears jQuery is calling xml.open before establishing any call back. This seems to go against the written specification. Any callback should be established before the protocol is initiatiated with open. In short, by introducing a timer, the design alters the protocol specification and fundamentally violated one of the basic principles in multi-threaded and sychronronization designs. Sychronization 101 preaches Thou shall not use Timers to sychronize events. In this case, it using time to take a snapshot of a state that might have come and gone - scary! The only reason it appears to work is because jQuery is using the minimum resolution in intel machines called the quantum (10 -15 ms depending on the CPU type). This allows it to appear to it is sychronized in round robin fashion. In other words, it is illusion that it appears to work. I wonder what will happen if you lowered the resoluition to 1ms which in Windows can be done using BeginPeriod and EndPeriod mult-media functions. That might give further strenghten that it may work fine because the user-agent is now getting more context-switching. But its worth checking because this would only go to show how using the timer makes the design extremely sensitive to all kinds of unknowns. Finally, the idea of memory leaks issues is a non-issue. If it is a bug, its a bug and the vendors should be told about it. But the solution, I don't think was appropriate. I could be completely off base, but I find it hard ot believe this is required. It is just goes against my grain to see a timer like this, why? To fix a leak? I will venture that this may contribute to some of the timer/event firing issues that may be serendipitously reported here. -- Hector Santos, CTO http://www.santronics.com http://santronics.blogspot.com (personal bog) Wildcat! Interactive Net Server (RPC C/S Intranet Hosting System) Wildcat! Sender Authentication Protocol (AVS system). iFTP (Intelligent FTP) Silver Xpress Offline Mail System Platinum Xpress Frontend Mailer (P2P) On Aug 25, 3:58 pm, Erik Beeson [EMAIL PROTECTED] wrote: Couldn't you just use beforeSend to intercept the XMLHttpRequest object and add your own callback handlers to it directly? You'll have to put up with all of the aforementioned memory leak issues, but you'd get access to all of the state changes that you're looking for... --Erik On 8/25/07, Pops [EMAIL PROTECTED] wrote: Dan, Thats exactly how I do look at code - always. I am a commercial developer. Products are used across the board. It is was one reason we avoided using javascript for many years (or atleast not these more advanced levels). In this case, I don't think setting a timer and bypassing the implemented xmlhttpRequest() state machine protocol would work consistently. To illustrate my point, you already get different behavior on what states are skipped and changing the frequency will give you different behavior. On the other hand, each protocol is designed to behave to provide each state and it must be signaled - otherwise it is really broken and something the vendor must address
[jQuery] Re: jQuery 1.1.4: Faster, More Tests, Ready for 1.2
If only everything was so cut and dry. -- Brandon Aaron On 8/25/07, Pops [EMAIL PROTECTED] wrote: Eric, anyone can come up with a solution. But if we strictly talking about jQuery and using it in an optimized, reliable, maximum support possible, then no. I think the patch I illustrated resolves the issues. Overall, my thoughts are: 1) Not defining the readystatechange, the protocol is run synchronously. You put more pressure on the user agent by doing this. Which is fine, if the developers wants to do that, but jQuery is forcing XmlHttpRequestion() synchronous operations always, 2) The capture of states in indeterminate. With jQuery's implementation, it is erronounsly emulation a call back with the timer, but peeking into the instantiated XmlHttpRequest object. Without using locks, this is fundamentally a flawed designed bound to bite you and/or give youi intermittent odd behavior or inconsistent results. 3) It ignories the state machine of the protocol and any optimize/ improvings it may do, and/or any future transparent considerations it may make, i.e, fix a leak, optimze it, etc. Take a look the WC3.ORG specification: http://www.w3.org/TR/XMLHttpRequest/ You (speaking in general) don't want to go against the described protocol state machine (the flow and steps). You want to work with it because that is how each conforming user agent (browser) MUST behave. Here is the key statement: User agents may optimize any algorithm given in this specification, so long as the end result is indistinguishable from the result that would be obtained by the specification's algorithms. In other words, jQuery MUST conform to the specification protocol design expectation. Just consider the following example provided at the W3.ORG site.. You can't do this in jQuery:: if(this.readyState == 3) { print(this.getAllResponseHeaders()); } because the jQuery external method skips loading.step (3). Also, it appears jQuery is calling xml.open before establishing any call back. This seems to go against the written specification. Any callback should be established before the protocol is initiatiated with open. In short, by introducing a timer, the design alters the protocol specification and fundamentally violated one of the basic principles in multi-threaded and sychronronization designs. Sychronization 101 preaches Thou shall not use Timers to sychronize events. In this case, it using time to take a snapshot of a state that might have come and gone - scary! The only reason it appears to work is because jQuery is using the minimum resolution in intel machines called the quantum (10 -15 ms depending on the CPU type). This allows it to appear to it is sychronized in round robin fashion. In other words, it is illusion that it appears to work. I wonder what will happen if you lowered the resoluition to 1ms which in Windows can be done using BeginPeriod and EndPeriod mult-media functions. That might give further strenghten that it may work fine because the user-agent is now getting more context-switching. But its worth checking because this would only go to show how using the timer makes the design extremely sensitive to all kinds of unknowns. Finally, the idea of memory leaks issues is a non-issue. If it is a bug, its a bug and the vendors should be told about it. But the solution, I don't think was appropriate. I could be completely off base, but I find it hard ot believe this is required. It is just goes against my grain to see a timer like this, why? To fix a leak? I will venture that this may contribute to some of the timer/event firing issues that may be serendipitously reported here. -- Hector Santos, CTO http://www.santronics.com http://santronics.blogspot.com (personal bog) Wildcat! Interactive Net Server (RPC C/S Intranet Hosting System) Wildcat! Sender Authentication Protocol (AVS system). iFTP (Intelligent FTP) Silver Xpress Offline Mail System Platinum Xpress Frontend Mailer (P2P) On Aug 25, 3:58 pm, Erik Beeson [EMAIL PROTECTED] wrote: Couldn't you just use beforeSend to intercept the XMLHttpRequest object and add your own callback handlers to it directly? You'll have to put up with all of the aforementioned memory leak issues, but you'd get access to all of the state changes that you're looking for... --Erik On 8/25/07, Pops [EMAIL PROTECTED] wrote: Dan, Thats exactly how I do look at code - always. I am a commercial developer. Products are used across the board. It is was one reason we avoided using javascript for many years (or atleast not these more advanced levels). In this case, I don't think setting a timer and bypassing the implemented xmlhttpRequest() state machine protocol would work consistently. To illustrate my point, you already get different behavior on what states are skipped and changing the frequency will give you
[jQuery] Re: jQuery 1.1.4: Faster, More Tests, Ready for 1.2
Brandon, Very true. Not everything is so cut and dry. This one, no doubt in mind, is not a good idea. I won't say that if I didn't mean it, and I only say that because threads sychronization design is one my areas of expertise. I just took a look at prototype.js and mootools.js, neither are depended on a Lets hope if this best guess 13ms always works timer concept. Like I said to John, you might as well make that 1ms (not 0ms) because the non-RTOS system will automatically step to the next quantum (10ms-15ms). Assuming the machine quantum is 13ms, if the frequency was changed to 14ms, the actual the time slice is 26ms. If 27ms, the time slice is 39ms, and so on. But if the user was still using 95, a quantum of 10ms, a frequency of 13ms is actually a 20ms delay. Keep in mind that XHR implementations is also based on its own delays, sockets delays, and lets just assume one block of XHR block took 45ms, that means the OS/CPU would done atleast 3-4 wasted context-switching with jQuery 13ms frequency. The point is something - jQuery is playing with fire. None of the other two popular ajax apis are using such logic. And my final point on this thread, the memory leak that I see is related to clearing the XHR callback, which is understandable anyone can originality miss that. But jQuery is not using the XHR callback. So that should had not been an issue. Anyway, thanks for your excellent point. -- HLS. On Aug 25, 6:41 pm, Brandon Aaron [EMAIL PROTECTED] wrote: If only everything was so cut and dry. -- Brandon Aaron On 8/25/07, Pops [EMAIL PROTECTED] wrote: Eric, anyone can come up with a solution. But if we strictly talking about jQuery and using it in an optimized, reliable, maximum support possible, then no. I think the patch I illustrated resolves the issues. Overall, my thoughts are: 1) Not defining the readystatechange, the protocol is run synchronously. You put more pressure on the user agent by doing this. Which is fine, if the developers wants to do that, but jQuery is forcing XmlHttpRequestion() synchronous operations always, 2) The capture of states in indeterminate. With jQuery's implementation, it is erronounsly emulation a call back with the timer, but peeking into the instantiated XmlHttpRequest object. Without using locks, this is fundamentally a flawed designed bound to bite you and/or give youi intermittent odd behavior or inconsistent results. 3) It ignories the state machine of the protocol and any optimize/ improvings it may do, and/or any future transparent considerations it may make, i.e, fix a leak, optimze it, etc. Take a look the WC3.ORG specification: http://www.w3.org/TR/XMLHttpRequest/ You (speaking in general) don't want to go against the described protocol state machine (the flow and steps). You want to work with it because that is how each conforming user agent (browser) MUST behave. Here is the key statement: User agents may optimize any algorithm given in this specification, so long as the end result is indistinguishable from the result that would be obtained by the specification's algorithms. In other words, jQuery MUST conform to the specification protocol design expectation. Just consider the following example provided at the W3.ORG site.. You can't do this in jQuery:: if(this.readyState == 3) { print(this.getAllResponseHeaders()); } because the jQuery external method skips loading.step (3). Also, it appears jQuery is calling xml.open before establishing any call back. This seems to go against the written specification. Any callback should be established before the protocol is initiatiated with open. In short, by introducing a timer, the design alters the protocol specification and fundamentally violated one of the basic principles in multi-threaded and sychronronization designs. Sychronization 101 preaches Thou shall not use Timers to sychronize events. In this case, it using time to take a snapshot of a state that might have come and gone - scary! The only reason it appears to work is because jQuery is using the minimum resolution in intel machines called the quantum (10 -15 ms depending on the CPU type). This allows it to appear to it is sychronized in round robin fashion. In other words, it is illusion that it appears to work. I wonder what will happen if you lowered the resoluition to 1ms which in Windows can be done using BeginPeriod and EndPeriod mult-media functions. That might give further strenghten that it may work fine because the user-agent is now getting more context-switching. But its worth checking because this would only go to show how using the timer makes the design extremely sensitive to all kinds of unknowns. Finally, the idea of memory leaks issues is a non-issue. If it is a bug, its a bug and the vendors should be told about it. But the solution, I don't think was
[jQuery] Re: jQuery 1.1.4: Faster, More Tests, Ready for 1.2
On 8/25/07, Pops [EMAIL PROTECTED] wrote: And my final point on this thread, the memory leak that I see is related to clearing the XHR callback, which is understandable anyone can originality miss that. But jQuery is not using the XHR callback. So that should had not been an issue. Originally it was, though, which was what brought up this issue[1] in the first place. The timer was implemented as a solution to memory leak issue (no event handlers, nothing to leak). [1] http://dev.jquery.com/ticket/991 -- Aaron Heimlich Web Developer [EMAIL PROTECTED] http://aheimlich.freepgs.com
[jQuery] Re: jQuery's Fearless Leader on Ajaxian
First, let's call it jQuery, not JQUERY, so no one thinks you're shouting. :-) I have no idea what the other messages you're talking about are, but they weren't from me. Like I said - Its silly. Lets agree to drop this. :-) and I wrote the first email client for PCs in 1982. It had a complete GUI using character mode graphics and supported all the email services of the day along with point-to-point email transfers. Oh, which was that? I wrote Silver Xpress, the 3rd client/server mail package, after TAPCIS (client only) and Sparky's QMAIL (client/server and only by a few weeks). I was #1 and made the most money. :-) I would of known of all PC email products and most of the corporate only packages. Are you reference to a X.400 package? or some Novell MHS package? Can't be SMTP, or was it? The first SMTP package for the PC? Can't be - SMTP isn't P2P. SX was written for all the online hosting systems atleast 22 BBS systems including all the top million dollars BBS systems like PCBOARD and Wildcat!. In 1990, I wrote Platinum Xpress, the P2P mail/file transfer system for Fidonet. By 98, wanting to complete the total mail framework, I brought Wildcat! to complete the picture. Before HTML, there were various tag based rendering technologies. I was writing Gold Xpress (The GUI version of SX) when RIP came out and most of the major online hosting systems added RIP support, including SX. If HTML did not come out and prevail, this would be a RIP world. Anyway, what First PC Email Package did you write? Wow! I thought I know all early cyberspace pioneering players in the PC mail market at the time. :-) Not the same. You modularized the code, thus creating a new function stack prolog and epilog. I don't follow you here. It's just an example of how you would translate a C idiom (forgive me if the syntax is off, my C is rusty): function test() { int i = 1; // nested scope { int i = 2; log( i ); // logs 2 } log( i ); // logs 1 } into JavaScript. The nested anynomous function introduces a local scope that works just like the inner block in C. (The syntax and implementation are different, of course, but the concept is the same.) Its how you would do it in JS, but thats because you basically modularized it with a function which inherits creates a local scope. It has its new prolog (pushing variables into the stack) and epilog (pulling varialbles off the stack). A function atleast forces epiloq because it *ALWAYS* returning a value whether you use it or not. The C version you pointed out, well, first, is illegal. This is new to C++. Anyway, it would be local scope without the function prolog/epilog overhead. But like all OOP languages, include JS, it will have any automatic destruction of class objects. But more importantly, it isn't natural. (Sure if that is what you want in JS), but in a normal language that suppose local scoping: void test() { int i = 1; if (whatever) { int i = 2; log( i ); // logs 2 } log( i ); // logs 1 } It is just natural coding. Not inline functions required. So its not the same :-) I believe you nean undefined not the string undefined. It's funny you should mention that, because I actually paused when I wrote it and thought about whether I should use the quotes or not. Well, that's what I mean. I would had not pointed it out, but you pissed me off there for a minute. That is what I meant by silly - a wasted comment because I knew what you meant. :-) For convenience, modern browsers define a window.undefined property which contains this undefined value. jQuery also defines this property for older browsers: hahaha, well, lets not forget, memory is binary, DISPLAYING it is characters. :-) I will say that with JS it came become a guessing game, and for someone who wrote the first PC Email package, you had no trouble exploring what is what. :-) which is internal constant for null which in most language is a zero value concept. Not in JavaScript. The undefined value is not the same as null, and neither is the same as zero. Fine, so lets go ahead and change all our optional function parameters where so much code is written as this: if(p) then use it if(!p) then dont use it if (p == null) then don't use it to this if(p != undefined) then use it if(p == undefined) then do't use it You kidding me? Most programmers will associate undefined (and I don't mean that literally) with an object/class concept. null is a pointer concept. So if you want to say: var p; and not initialize it to what in your mind it think it should be, like: var p = null;// I see this as a pointer, var p = undefined; // JS, I see that as object or pointer var p = 0; // I see that as a number or a hackers quick way of nullifying
[jQuery] Re: jQuery 1.1.4: Faster, More Tests, Ready for 1.2
I just took a look at prototype.js and mootools.js, neither are depended on a Lets hope if this best guess 13ms always works timer concept. Right, so they leak every single time you use them, both libraries are quite naive about the issue of memory leaks. If you're looking for some form of justification for what we're doing look at Yahoo UI: http://sourceforge.net/project/downloading.php?group_id=165715filename=yui2.3.0.zip In build/connection/connection.js look for handleReadyState which does all the polling. Also, Dojo is using this particular method for querying XHR state: http://alex.dojotoolkit.org/?p=528 Yahoo UI is also using a polling interval of 50ms for XHR, which they seemed to just pick arbitrarily. Just to emphasize that point, look in Yahoo UI's build/animation/animation.js where they set their delay on their animation timers to 1ms. I think you're missing a couple points here: - JavaScript engines are not multi-threaded. There's no such thing as a locking or synchronization issue within JavaScript. The XHR request won't return or finish until the current JS is finished executing. - setTimeout and setInterval do not create threads. The push functions onto the JavaScript stack to be executed at a later time (so if a script never stops running a timeout will never be called). - The units passed to setTimeout are arbitrary, it's still at the browsers discretion as to when they're actually executed. They're not sent straight to the processor for handling - all operations are delegated by the browser. So, yes, we might as well pick 1ms, Yahoo UI seems to think it's ok, there's no particular reason for not doing so - nor has it made any particular effect upon the system for not having done so. In the case of Ajax, the query rate could probably be slowed down to something like 50ms, and for animations, increased to something like 1ms. The issues at play here are phenomenally more complicated, and nuanced, then they're made out to be. --John
[jQuery] Re: jQuery's Fearless Leader on Ajaxian
I've got to say. this has been one weird thread to find. almost like a soap opera. Anyway, Glen, did you ever get clarification on the question you posed below? Is there a recommendation going around that js scripts should be placed as late in the body as possible? Rick From: jquery-en@googlegroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Glen Lipka Sent: Friday, August 24, 2007 8:43 PM To: jquery-en@googlegroups.com Subject: [jQuery] Re: jQuery's Fearless Leader on Ajaxian This one threw me. script src=filename .js tags should be placed as late in the body as possible. This reduces the effects of delays imposed by script loading on other page components. There is no need to use the language or type attributes. It is the server, not the script tag, that determines the MIME type. Does that mean that everyone who calls .js files should do it at the end of the body and not at the top in the head? No one does this now. Glen On 8/24/07, Pops [EMAIL PROTECTED] wrote: On Aug 24, 3:50 pm, Michael Geary [EMAIL PROTECTED] wrote: From: Pops snipped all the stuff I agree with :-) Before I forget, Hector, in the future could you start a new thread for a new topic like this? (And don't just change the subject line - start a new message.) Ok, I will make it an effort to live the same topic rules we also impose in our own support forums. But frankly, I must say, you are beginning to annoy me with your not once, not twice, not three, but now the forth time you are in one way or another moderating or pointing out some silly thing to me. The decision to change topics is highly subjective, but yes, I know better to do it the appropiate time. I just didn't and it also cross my mind that someone else might do it depending on deep it got. So please stop. Its annoying. Not a biggie, and I've hijacked threads myself, but starting a new thread helps people follow the conversations. Sure, but believe it or not, the odds are extremely high I've been cyberspacing far longer than you, maybe not, nonetheless, I know everything there is about it. I've been developing mail products (at all levels) since the 80s and you not going to find many people out that match my credentials in this area. So I don't need to be told how to behave. Like you said, you couldn't changed it yourself the first time - but didn't for your own subjective reasons. Again, stop. Its annoying. Change the topic is fine, making a comment is not. I use to be just as anal, but I mellowed out. You should too. :-) Actually, JavaScript *does* support local scoping, it just doesn't do it at every curly brace. Every nested function has its own local scope, and you can use an inline anynomous function to introduce a local scope anywhere you want: Not the same. You modularized the code, thus creating a new function stack prolog and epilog. It is good practice to get use to the ideal of always initializing your variables. Many languages, especially those like JavaScript with RTEs (Run Time Engines), which typically automatically zero out all memory variables. JavaScript initializes all variables to the undefined value, whose type is undefined. I believe you nean undefined not the string undefined. which is internal constant for null which in most language is a zero value concept. In other words, if you expected to be null, this is to common practice: var i; if (i == 0) alert(i is zerol); // false if (i == null) alert(i is null); // true if (i == undefinedl) alert(i is undefinedl);// true if (i == 'undefined'l) alert(i is 'undefined'); // false which is correct, Most RTEs will load low (zero out). Some systems will even load high, like a heap manager to help find leaks, overflows, underflows, etc, but when a uninitialized variable is referenced, it should be a null value. So its always better to initialize your variables, unless you specifically are designing for null. However from a programmer's system logic perspective: var currentEntry = 0; // currently selected table entry is better then var currentEntry; // currently selected table entry Those are two different things. They both initialize currentEntry to well-defined values. Neither one is better than the other, without knowing more about the code that uses them. Of course, if you wanted a value: var currentEntry = 0; or a null: var currentEntry = null; either way, that is better. You could, but why bother? I already know that var currentEntry; initializes the variable to undefined (and if I don't know, I'd better learn). Doing it explicitly doesn't add anything to my understanding of the code. I disagree. Being specific is always terrific. The reason is if you get into the practice of not initializing, you might get into situations where you really don't know what the system is doing. Like I said, if a compiler is created for javascript,
[jQuery] Re: Error with Ajax Submit with Form plugin in IE
in IE6, a new page is opened, like the ajax is not working. I also noticed in IE6 that my javascript generates an error. I think you answered your own question there. You need to fix that error, whatever it is. That's why IE opens a new page when you submit. Mike
[jQuery] Re: jQuery's Fearless Leader on Ajaxian
Ok, first of all, this was my original posting, which has been hijacked to the hilt. Up till now, I haven't said anything but with the thread escalating to the point of low blows, I'm going to put an end to this. If you guys want to keep hashing this out, please start a new thread or take it offline. Next, Pops, you've made your points and they've been heard but your closing statement about memory leaks (I wasn't going to point this out, but I think I will now, your JSONP plugin as reeking with memory leaks) was just a cheap shot and you said solely because you're ticked off. I read Geary's reply to you and it didn't warrant that. Couple that with that fact that Michael is a VERY well-respected EXTREMELY helpful member of the jQuery community and I can tell you that's not acceptable. I *NEED* you to tone it down. Seriously. Debates are perfectly fine. They happen often but not to the point of cheap shots. Rey Bango jQuery Project Team
[jQuery] Re: how find this value
Please help.
[jQuery] Who created this jQuery logo?!
Guys, anyone know who created this jQuery logo? If so, please send me some contact info. Thanks, Rey inline: jQuery-logo.gif
[jQuery] Re: Who created this jQuery logo?!
On 8/26/07, Rey Bango [EMAIL PROTECTED] wrote: Guys, anyone know who created this jQuery logo? If so, please send me some contact info. Thanks, Rey Hi Rey, Greetings my friend. I've been loving the work you do in keeping this list on track and all of the tidbits of info you post regularly. Thanks. I created that jQuery logo and just recently sent an email to John to donate it to him to use or discard as he may wish. I know he is very busy and I haven't heard back from him regarding this. I think you may have my previous email address (which is still current) and I am also using this new gmail account for the jQuery list. You can contact me on either one :) Cheers Joel Birch.
[jQuery] Re: jQuery's Fearless Leader on Ajaxian
Thanks, Rey. Can you forgive a couple of old-timers for getting cantankerous once in a while? I'm afraid it comes with the territory. One thing is for sure: If somebody disagrees with me a lot, it means I probably have something to learn from them. So Pops, no harm, no foul, still friends, OK? I'm not offended to hear about memory leaks, my goodness, that's something I need to fix! I've been meaning to update that JSONP plugin for a long time anyway. Probably do the hidden iframe like somebody recommended in the comments, and also make that silly timestamped URL optional. I took the timestamp out of the JSONP code I use at Zvents because it wreaks havoc with the server caching. Talk with y'all later, -Mike From: Rey Bango Ok, first of all, this was my original posting, which has been hijacked to the hilt. Up till now, I haven't said anything but with the thread escalating to the point of low blows, I'm going to put an end to this. If you guys want to keep hashing this out, please start a new thread or take it offline. Next, Pops, you've made your points and they've been heard but your closing statement about memory leaks (I wasn't going to point this out, but I think I will now, your JSONP plugin as reeking with memory leaks) was just a cheap shot and you said solely because you're ticked off. I read Geary's reply to you and it didn't warrant that. Couple that with that fact that Michael is a VERY well-respected EXTREMELY helpful member of the jQuery community and I can tell you that's not acceptable. I *NEED* you to tone it down. Seriously. Debates are perfectly fine. They happen often but not to the point of cheap shots. Rey Bango jQuery Project Team
[jQuery] Re: How to Inject style sheets/.CSS
On Aug 25, 9:02 pm, Michael Geary [EMAIL PROTECTED] wrote: This was the approach I was going, but didn't know the particulars. Mikes native code is much faster (duh!). I'm curious - did you actually benchmark it? Since I was using a CSS file with about 50-60 lines, the visual improvement was apparent as expected it would be. -- HLS
[jQuery] Plugin Repository - Report New Bugs and Request New Features?
Hey folks, I was looking through the plugins at jquery.com/plugins/ and noticed that, even though the project pages have bug-report and feature- request tools built right in, hardly any of the plugins have anything entered for any of it. Kelvin Luck's plugins are the only ones I saw from a cursory skim through the list that are taking advantage of them. So, I'm curious. What do more seasoned plugin developers recommend for tracking bugs and feature requests? Why is hardly anyone using these on the plugin pages? Is there something better out there that others are using? It's seems a shame not to use what looks like a nice tool. But before I jump in and start using it for my own plugin, I thought I'd seek the perspective of others. As I've been working on the clueTip plugin, one of the hardest things for me has been to keep track of what people want out of it and what they're finding wrong with it. I think it would be nice to have a centralized location where I could monitor this stuff for my own plugins, and it would also be cool to be able to look at other plugin pages and check on their progress. Any thoughts on this? How about not just from plugin *developers*, but from plugin *users* as well? People out there using these plugins -- would you find it helpful to be able to look at these plugin pages at the jquery.com plugin repository and check on their status? Okay, sorry, I'm rambling. --Karl _ Karl Swedberg www.englishrules.com www.learningjquery.com
[jQuery] Re: Who created this jQuery logo?!
Awesome Joel! Thanks for the reply!! I replied offlist. Rey... Joel Birch wrote: On 8/26/07, *Rey Bango* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Guys, anyone know who created this jQuery logo? If so, please send me some contact info. Thanks, Rey Hi Rey, Greetings my friend. I've been loving the work you do in keeping this list on track and all of the tidbits of info you post regularly. Thanks. I created that jQuery logo and just recently sent an email to John to donate it to him to use or discard as he may wish. I know he is very busy and I haven't heard back from him regarding this. I think you may have my previous email address (which is still current) and I am also using this new gmail account for the jQuery list. You can contact me on either one :) Cheers Joel Birch.
[jQuery] Possible bug in slideDown()?
I just added comments to my blog: http://www.andyandjaime.com/ When the user submits, it posts to my processing page and sends back a string, which I then display inline. I put the comment there, then use slideDown() to show it. When slideDown() occurs, the form used to post the comment also slides down (as you would expect). But the submit button slides down below the bottom of the container element. Does anyone know why this is happening?
[jQuery] Re: Possible bug in slideDown()?
When worse comes to worse, apply a fixed width to the element that you're sliding down - sometimes that can fix sticky issues like this. --John On 8/25/07, Andy Matthews [EMAIL PROTECTED] wrote: I just added comments to my blog: http://www.andyandjaime.com/ When the user submits, it posts to my processing page and sends back a string, which I then display inline. I put the comment there, then use slideDown() to show it. When slideDown() occurs, the form used to post the comment also slides down (as you would expect). But the submit button slides down below the bottom of the container element. Does anyone know why this is happening?
[jQuery] Re: Selector Question
Glad I could help :) On 8/24/07, Pops [EMAIL PROTECTED] wrote: That did it! Thanks Joan! -- HLS On Aug 24, 12:51 am, Joan Piedra [EMAIL PROTECTED] wrote: Hey Pops, I have not tested this, but should work. Just use the next node. $('legend').click(function(){ $(this).next().fadeOut(250); }); On 8/24/07, Pops [EMAIL PROTECTED] wrote: I have HTML like so with a bunch of fieldset tags: fieldsetlegend[ Title1 ]/legenddiv id='wc1'/div/fieldset fieldsetlegend[ Title2 ]/legenddiv id='wc2'/div/fieldset .. fieldsetlegend[ Titlen ]/legenddiv id='wcn'/div/fieldset These fade in and out and I had this for the fade out: $('[EMAIL PROTECTED]').click( function() { $(this).text().fadeOut(250); }); But I don't want to click the div container to fade out, but rather the legend, and then fade out the div container that immediately follows it.. How do do this using selectors? I tried this incorrect syntax among other things and it didn't work: $('legend').click( function() { $(this:first-child).fadeOut(250); }); Thanks -- HLS -- Joan Piedra || Frontend webdeveloperhttp://joanpiedra.com/ -- Joan Piedra || Frontend webdeveloper http://joanpiedra.com/
[jQuery] Re: Who created this jQuery logo?!
Excellent logo, Joel. I would love to see it in a horizontal form, I think as a little jQuery stamp on the page it'd look great. If you're offering up the (psd? ai?) for all, I'd be willing to do it myself, and post it back for the community. Charles doublerebel.com On Aug 25, 8:29 pm, Rey Bango [EMAIL PROTECTED] wrote: Awesome Joel! Thanks for the reply!! I replied offlist. Rey... Joel Birch wrote: On 8/26/07, *Rey Bango* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Guys, anyone know who created this jQuery logo? If so, please send me some contact info. Thanks, Rey Hi Rey, Greetings my friend. I've been loving the work you do in keeping this list on track and all of the tidbits of info you post regularly. Thanks. I created that jQuery logo and just recently sent an email to John to donate it to him to use or discard as he may wish. I know he is very busy and I haven't heard back from him regarding this. I think you may have my previous email address (which is still current) and I am also using this new gmail account for the jQuery list. You can contact me on either one :) Cheers Joel Birch.
[jQuery] Re: [ANNOUNCEMENT] jqGalView (yet another image gallery)
Hi, I like the 'pan view' idea. Just found a 'bug', when you are seeing an image it should cover the whole gallery (aka. thumbs and gallery tabs), you can click another tab while you are browsing a pic, this is confusing because when you close it you are in new gallery section. Keep working on it, looks nice. On 8/24/07, Benjamin Sterling [EMAIL PROTECTED] wrote: Hello All, Wanted to announce yet another image gallery! What is different between this one and other million out there, well, I made it :). The url: http://benjaminsterling.com/2007/08/24/jquery-jqgalview-photo-gallery/ I am still working on the documentation, I am not very good at it so if there are any questions, please ask. I will post all questions asked and fixes posted here in the comments on the site for easy reading. I am still working on developing a clean coding style that would be easy for all to read, so if you have suggestions on what I can combine/change/do better in general, I would most appreciate it. I have a few other plugins that are in development and it will help me to clean them up also. Thanks. -- Benjamin Sterling http://www.KenzoMedia.com http://www.KenzoHosting.com -- Joan Piedra || Frontend webdeveloper http://joanpiedra.com/
[jQuery] Re: jQuery 1.1.4: Faster, More Tests, Ready for 1.2
On Aug 25, 9:30 pm, John Resig [EMAIL PROTECTED] wrote: I just took a look at prototype.js and mootools.js, neither are depended on a Lets hope if this best guess 13ms always works timer concept. Right, so they leak every single time you use them, both libraries are quite naive about the issue of memory leaks. Ok, I believe you, but I hope you don't mind if I tried to confirm this. Just curious. :-) I'll check out YUI and DoJo. Yahoo UI is also using a polling interval of 50ms for XHR, which they seemed to just pick arbitrarily. Just to emphasize that point, look in Yahoo UI's build/animation/animation.js where they set their delay on their animation timers to 1ms. /** * Interval delay in milliseconds, defaults to fastest possible. * @property delay * @type Int * */ this.delay = 1; Where do I begin?. I don't want to say this the wrong way. I am beginning to feel I am losing my welcome here. First, to get out of the way, YUIi makes it optional. jQuery does not. So please consider this at a minimum for jQuery. Second, Yahoo has been known to change the multi-media timing resolution in their applications to make their applications appear to run faster. http://www.codeproject.com/tips/YahooSpeeds.asp I was able to confirm this back then. So who knows what the developer of this code was thinking when he/she set this value to 1. Maybe you do need it for animation. Maybe he had yahoo finance running at the time and it mistakely thought that 1ms is the Fastest Possible when it fact it is not. Zero ms is the fastest. The problem is that 0ms is so fast, it will create a massive CPU hogging. So you don't want 0ms. 0ms tells the schedule Ok, queue me for the next quantum, but if no one is busy, start me again So there are is tremendous amount of interrupts and context switching. These applets are not friendly. But if the 1ms resolution is set on the machine using the multi-media functions, that 1ms frequency will also hog the CPU just was well. So its not very system wide optimal setting. Great for YAHOO, things are FAST - the rest of the applications are slowed down. I think you're missing a couple points here: - JavaScript engines are not multi-threaded. There's no such thing as a locking or synchronization issue within JavaScript. The XHR request won't return or finish until the current JS is finished executing. Yes, I undersand JS is not multi-threaded, but the XHR interface to the OS native user agent is multi-threaded. No? So you have two threads: the JS and XHR. The JS thread keeps runnning as the background thread is running. The jQuery timer() method will miss some states. That have been confirmed for sure. - setTimeout and setInterval do not create threads. The push functions onto the JavaScript stack to be executed at a later time (so if a script never stops running a timeout will never be called). I didn't presume they did. The single -threaded js is working with the XHR thread. Is it not? Are you saying XHR is using synchronous sockets? No that can't be, you are missing states. That implies two threads! If it was 100% all 1 thread that means its using a mult-tasking approach, and that would mean that no states will be missed. That is not what I am seeing. - The units passed to setTimeout are arbitrary, it's still at the browsers discretion as to when they're actually executed. They're not sent straight to the processor for handling - all operations are delegated by the browser. So the browser might see a 0ms passed, and say Nah! Sorry, thats too expensive. I'm going to use X? So, yes, we might as well pick 1ms, Yahoo UI seems to think it's ok, You will not see any difference, until someone changes the multi-media timer which will definitely be speeding up jQuery move pre-emptive context switching - slowing down the rest of the system. Also, what about the draft XmlHttpRequest() work? They are planning to add new events hooks? Is jQuery going to ignore these too because it may have already cover these ideas? there's no particular reason for not doing so - nor has it made any particular effect upon the system for not having done so. In the case of Ajax, the query rate could probably be slowed down to something like 50ms, and for animations, increased to something like 1ms. I say: 1) Make the timer optional. I rather be an conformant with the standard. 2) If you must keep the time, atleast make the freq variables adjustable. The issues at play here are phenomenally more complicated, and nuanced, then they're made out to be. I am sorry if that you got the wrong idea but I made two unobstrusive suggestions: - optional timer, - optional frequency But I personally feel this is the wrong approach. My opinion. I tried to give practical reasons and I can see that it won't be compatiable with the next version of XHR standards with new considerations.. I am having
[jQuery] Re: [ANNOUNCEMENT] jqGalView (yet another image gallery)
Thanks Joan, that is on the to do list. I was hoping to have an update up tonight, but got caught up on some things. I am going to try for Monday now. Thanks. On 8/26/07, Joan Piedra [EMAIL PROTECTED] wrote: Hi, I like the 'pan view' idea. Just found a 'bug', when you are seeing an image it should cover the whole gallery (aka. thumbs and gallery tabs), you can click another tab while you are browsing a pic, this is confusing because when you close it you are in new gallery section. Keep working on it, looks nice. On 8/24/07, Benjamin Sterling [EMAIL PROTECTED] wrote: Hello All, Wanted to announce yet another image gallery! What is different between this one and other million out there, well, I made it :). The url: http://benjaminsterling.com/2007/08/24/jquery-jqgalview-photo-gallery/ I am still working on the documentation, I am not very good at it so if there are any questions, please ask. I will post all questions asked and fixes posted here in the comments on the site for easy reading. I am still working on developing a clean coding style that would be easy for all to read, so if you have suggestions on what I can combine/change/do better in general, I would most appreciate it. I have a few other plugins that are in development and it will help me to clean them up also. Thanks. -- Benjamin Sterling http://www.KenzoMedia.com http://www.KenzoHosting.com -- Joan Piedra || Frontend webdeveloper http://joanpiedra.com/ -- Benjamin Sterling http://www.KenzoMedia.com http://www.KenzoHosting.com
[jQuery] an image preloader / need help/direction
Hey guys and gals, I am working on a plugin that will give a flash preloader functionality to jQuery by, ummm, using flash. The way it works now is that it take an image that a developer marks for preloading, sends that url to flash at the same time it removes the img tag and creates the tags for a load bar and flash. In the flash file, it loads the url into the loadMovie function and I have a basic preload script that uses the flash.external function and calls a function in the plugin and updates the loadbar, for people who know how to code actionscripting, the code will be more or less the same. The goal is allow people to get away from the animate gif and give them to build some fancy javascript/css based preload animation. The problems I have: 1. How do I make so that the plugin can be used for multiple images on page, some like jqModal has? 2. What features should be built into this plugin? a. I figure people will want to input there of structure for their preloader, how would I do this without making it bloated? 3. What is the best way to make sure the end user has flash so that this fails nicely? 4. Is this something that will even be useful? 5. I tested it on IE7/IE6 standalone, FF 2 and this worked well, can someone test on mac and linux? I am assuming that they utilize cache the same way. Any and all feedback is welcomed. The url: http://www.benjaminsterling.com/experiments/jqLoadBar/ -- Benjamin Sterling http://www.KenzoMedia.com http://www.KenzoHosting.com