Re: waiting for the DOM
"Jim Auldridge" <[email protected]> Fri, 13 Apr 2007 06:23:07 -0400
| Newsgroups | gmane.comp.web.dom.wdf |
|---|---|
| Message-ID | <[email protected]> |
--TU-DNbqIGHufnl8yMB0y7InFFdSmiVqHlkB5Akv Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit You may not like the idea of using a library, which I can understand. But I would look at the Yahoo User Interface Library, specifically the Event utility which has onAvailable and onContentReady methods ( http://developer.yahoo.com/yui/event/#onavailable ). Perhaps at the very least you can figure out what they are doing and apply the concept. Jim On 4/13/07, Anders Nawroth <[email protected]> wrote: > > > Edwin Martin: > > > delayedInit = function (id, initFunc, delay) > > > { > > > var el; > > > if (delay === null) delay = 10; > > > return function() // return anonymous function that does the job > > > { > > > if (el = document.getElementById(id)) > > > { > > > initFunc(el); > > > } > > > else > > > { > > > setTimeout(arguments.callee, delay); > > > } > > > }(); // run the anonymous function at creation time > > > }; > > > > I think it's the delay of 10ms that's the problem. Do you really have to > > check 100 times per second for the element to be present? Try increasing > > the value (to, for example, 500ms) for better performance. > > > > This is not causing the problem, I have tried different values. With > 10ms the element is usually found in the second or third iteration, so > there should not be any big amount of work. > > > /Anders > > > Unsubscribe > [email protected] > > List info > http://www.quirksmode.org/dom/list.html > Yahoo! Groups Links > > > > -- Jim Auldridge 11012 Lincoln Ave Hagerstown MD 21740 301-582-9050 http://www.auldridges.com --TU-DNbqIGHufnl8yMB0y7InFFdSmiVqHlkB5Akv Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> </head> <!-- Network content --> <body style="background-color: #ffffff;"> <!--~-|**|PrettyHtmlStartT|**|-~--> <div id="ygrp-mlmsg" style="width:655px; position:relative;"> <div id="ygrp-msg" style="width: 490px; padding: 0 15px 0 0; float:left; z-index:1;"> <!--~-|**|PrettyHtmlEndT|**|-~--> <div id="ygrp-text"> <p>You may not like the idea of using a library, which I can understand.<br> But I would look at the Yahoo User Interface Library, specifically the<br> Event utility which has onAvailable and onContentReady methods (<br> <a href="http://developer.yahoo.com/yui/event/#onavailable">http://developer.<wbr>yahoo.com/<wbr>yui/event/<wbr>#onavailable</a> ).<br> <br> Perhaps at the very least you can figure out what they are doing and<br> apply the concept.<br> <br> Jim<br> <br> On 4/13/07, Anders Nawroth <<a href="mailto:lists%40nawroth.com">lists@nawroth.<wbr>com</a>> wrote:<br> ><br> ><br> > Edwin Martin:<br> > > > delayedInit = function (id, initFunc, delay)<br> > > > {<br> > > > var el;<br> > > > if (delay === null) delay = 10;<br> > > > return function() // return anonymous function that does the job<br> > > > {<br> > > > if (el = document.getElement<wbr>ById(id))<br> > > > {<br> > > > initFunc(el)<wbr>;<br> > > > }<br> > > > else<br> > > > {<br> > > > setTimeout(argument<wbr>s.callee, delay);<br> > > > }<br> > > > }(); // run the anonymous function at creation time<br> > > > };<br> > ><br> > > I think it's the delay of 10ms that's the problem. Do you really have to<br> > > check 100 times per second for the element to be present? Try increasing<br> > > the value (to, for example, 500ms) for better performance.<br> > ><br> ><br> > This is not causing the problem, I have tried different values. With<br> > 10ms the element is usually found in the second or third iteration, so<br> > there should not be any big amount of work.<br> ><br> ><br> > /Anders<br> ><br> ><br> > Unsubscribe<br> > <a href="mailto:wdf-dom-unsubscribe%40egroups.com">wdf-dom-unsubscribe<wbr>@egroups.<wbr>com</a><br> ><br> > List info<br> > <a href="http://www.quirksmode.org/dom/list.html">http://www.quirksmo<wbr>de.org/dom/<wbr>list.html</a><br> > Yahoo! Groups Links<br> ><br> ><br> ><br> ><br> <br> -- <br> Jim Auldridge<br> 11012 Lincoln Ave<br> Hagerstown MD 21740<br> 301-582-9050<br> <a href="http://www.auldridges.com">http://www.auldridg<wbr>es.com</a><br> </p> </div> <!--~-|**|PrettyHtmlStart|**|-~--> <span width="1" style="color: white;">__._,_.___</span> <!-- Start the section with Message In topic --> <div id="ygrp-actbar"> <span class="left"> <a href="http://groups.yahoo.com/group/wdf-dom/message/5589;_ylc=X3oDMTM0bWdldDhvBF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBG1zZ0lkAzU1OTIEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxMTc2NDU5ODg2BHRwY0lkAzU1ODk-"> Messages in this topic </a> (<span class="bld">0</span>) </span> <a href="http://groups.yahoo.com/group/wdf-dom/post;_ylc=X3oDMTJwcHZlZGs4BF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBG1zZ0lkAzU1OTIEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxMTc2NDU5ODg2?act=reply&messageNum=5592"> <span class="bld"> Reply </span> (via web post) </a> | <a href="http://groups.yahoo.com/group/wdf-dom/post;_ylc=X3oDMTJldnM1bzVtBF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTE3NjQ1OTg4Ng--" class="bld"> Start a new topic </a> </div> <!------- Start Nav Bar ------> <!-- |**|begin egp html banner|**| --> <div id="ygrp-vitnav"> <a href="http://groups.yahoo.com/group/wdf-dom/messages;_ylc=X3oDMTJlOGxnODYxBF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwNmdHIEc2xrA21zZ3MEc3RpbWUDMTE3NjQ1OTg4Ng--">Messages</a> </div> <!-- |**|end egp html banner|**| --> <!-- Do not have place to put it yet --> <div id="ygrp-grft"> </div> <!-- yahoo logo --> <!-- |**|begin egp html banner|**| --> <div id="ygrp-ft"> <a href="http://groups.yahoo.com/;_ylc=X3oDMTJkOGU0bjRyBF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMTc2NDU5ODg2"> <img src="http://us.i1.yimg.com/us.yimg.com/i/yg/img/logo/ma_grp_160.gif" height="15" width="106" border="0" alt="Yahoo! Groups"></a> <br> <a href="http://groups.yahoo.com/group/wdf-dom/join;_ylc=X3oDMTJma2djbWNnBF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzExNzY0NTk4ODY-">Change settings via the Web</a> (Yahoo! ID required) <br> Change settings via email: <a href="mailto:[email protected]?subject=Email Delivery: Digest">Switch delivery to Daily Digest</a> | <a href = "mailto:[email protected]?subject=Change Delivery Format: Traditional">Switch format to Traditional</a> <br> <a href="http://groups.yahoo.com/group/wdf-dom;_ylc=X3oDMTJkdDhzNTBrBF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMTc2NDU5ODg2"> Visit Your Group </a> | <a href="http://docs.yahoo.com/info/terms/"> Yahoo! Groups Terms of Use </a> | <a href="mailto:[email protected]?subject="> Unsubscribe </a> </div> <!-- |**|end egp html banner|**| --> </div> <!-- ygrp-msg --> <!-- Sponsor --> <!-- |**|begin egp html banner|**| --> <div id="ygrp-sponsor" style="width:140px;float: left; clear: none; margin-left: 5px; background:white; margin-bottom:25px ;position:absolute; top:0; right: 0;"> <!-- Network content --> <!-- Start vitality --> <div id="ygrp-vital"> <div id="vithd">Recent Activity</div> <ul style="list-style-type:none; padding: 0; margin: 2px 0;"> <li style="clear: both;"> <div class="ct" style="float: right;"><span style="display:none"> </span>7</div> <div class="cat"><a href="http://groups.yahoo.com/group/wdf-dom/members;_ylc=X3oDMTJmbGRzNTdkBF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzExNzY0NTk4ODY-">New Members</a></div> </li> </ul> <a href="http://groups.yahoo.com/group/wdf-dom;_ylc=X3oDMTJlZHEzMmxnBF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTE3NjQ1OTg4Ng--"> Visit Your Group </a> </div> <div id="hd">SPONSORED LINKS</div> <div id="ov"> <ul> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjaTM3cmdtBF9TAzk3MzU5NzE0BF9wAzEEZ3JwSWQDMjU2NDU2MwRncnBzcElkAzE3MDUwMTYwNjEEc2VjA3NsbW9kBHN0aW1lAzExNzY0NTk4ODY-?t=ms&k=Dom+perignon&w1=Dom+perignon&w2=Dom+pedro+lisboa&w3=Dom+pedro+lisboa+hotel&w4=Dom+henrique+hotel&w5=Dom+pedro+hotel&c=5&s=113&g=2&.sig=WWEKoFu9o5Bxb7jvKiowcw">Dom perignon</a></li> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjMnZpY2JnBF9TAzk3MzU5NzE0BF9wAzIEZ3JwSWQDMjU2NDU2MwRncnBzcElkAzE3MDUwMTYwNjEEc2VjA3NsbW9kBHN0aW1lAzExNzY0NTk4ODY-?t=ms&k=Dom+pedro+lisboa&w1=Dom+perignon&w2=Dom+pedro+lisboa&w3=Dom+pedro+lisboa+hotel&w4=Dom+henrique+hotel&w5=Dom+pedro+hotel&c=5&s=113&g=2&.sig=SX1uIQiq6MaAcniDtSkcsg">Dom pedro lisboa</a></li> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjMnM5OTJqBF9TAzk3MzU5NzE0BF9wAzMEZ3JwSWQDMjU2NDU2MwRncnBzcElkAzE3MDUwMTYwNjEEc2VjA3NsbW9kBHN0aW1lAzExNzY0NTk4ODY-?t=ms&k=Dom+pedro+lisboa+hotel&w1=Dom+perignon&w2=Dom+pedro+lisboa&w3=Dom+pedro+lisboa+hotel&w4=Dom+henrique+hotel&w5=Dom+pedro+hotel&c=5&s=113&g=2&.sig=guNaksJ68_6B0OiXpwey1w">Dom pedro lisboa hotel</a></li> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjN2IzcnByBF9TAzk3MzU5NzE0BF9wAzQEZ3JwSWQDMjU2NDU2MwRncnBzcElkAzE3MDUwMTYwNjEEc2VjA3NsbW9kBHN0aW1lAzExNzY0NTk4ODY-?t=ms&k=Dom+henrique+hotel&w1=Dom+perignon&w2=Dom+pedro+lisboa&w3=Dom+pedro+lisboa+hotel&w4=Dom+henrique+hotel&w5=Dom+pedro+hotel&c=5&s=113&g=2&.sig=QGH9qb7jsBAkFrK0-a_YNg">Dom henrique hotel</a></li> <li><a href="http://groups.yahoo.com/gads;_ylc=X3oDMTJjaGJjNGtvBF9TAzk3MzU5NzE0BF9wAzUEZ3JwSWQDMjU2NDU2MwRncnBzcElkAzE3MDUwMTYwNjEEc2VjA3NsbW9kBHN0aW1lAzExNzY0NTk4ODY-?t=ms&k=Dom+pedro+hotel&w1=Dom+perignon&w2=Dom+pedro+lisboa&w3=Dom+pedro+lisboa+hotel&w4=Dom+henrique+hotel&w5=Dom+pedro+hotel&c=5&s=113&g=2&.sig=lzPOttQs63hr5OcSewgvGQ">Dom pedro hotel</a></li> </ul> </div> <!-- Network content --> <div id="nc"> <div class="ad"> <div id="hd1">Yahoo! Photos</div> <p><a href="http://us.ard.yahoo.com/SIG=12i1r4igs/M=493064.9803230.10510224.8674578/D=groups/S=1705016061:NC/Y=YAHOO/EXP=1176467086/A=3848637/R=0/SIG=10p8tommg/*http://photos.yahoo.com">Share Your Photos</a></p> <p>via email & mobile</p> </div> <div class="ad"> <div id="hd1">Y! GeoCities</div> <p><a href="http://us.ard.yahoo.com/SIG=12iklgnnh/M=493064.9803219.10510212.8674578/D=groups/S=1705016061:NC/Y=YAHOO/EXP=1176467086/A=3848530/R=0/SIG=11vts2tqq/*http://us.rd.yahoo.com/evt=42416/*http://geocities.yahoo.com/">Share Your Resume</a></p> <p>Show off your</p> <p>talent and skills.</p> </div> <div class="ad"> <div id="hd1">Yahoo! Groups</div> <p><a href="http://groups.yahoo.com/start;_ylc=X3oDMTJvZjVxNDRrBF9TAzk3MzU5NzE0BF9wAzMEZ3JwSWQDMjU2NDU2MwRncnBzcElkAzE3MDUwMTYwNjEEc2VjA25jbW9kBHNsawNncm91cHMyBHN0aW1lAzExNzY0NTk4ODY-">Start a group</a></p> <p>in 3 easy steps.</p> <p>Connect with others.</p> </div> </div> </div> <!-- |**|end egp html banner|**| --> <div style="clear:both; color: #FFF; font-size:1px;">.</div> </div> <img src="http://geo.yahoo.com/serv?s=97359714/grpId=2564563/grpspId=1705016061/msgId=5592/stime=1176459886/nc1=3848637/nc2=3848530/nc3=3" width="1" height="1"> <br> <span style="color: white;">__,_._,___</span> <!--~-|**|PrettyHtmlEnd|**|-~--> </body> <!--~-|**|PrettyHtmlStart|**|-~--> <head> <style type="text/css"> <!-- #ygrp-mlmsg {font-size:13px; font-family: arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;} #ygrp-mlmsg table {font-size:inherit;font:100%;} #ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;} #ygrp-mlmsg pre, code {font:115% monospace;*font-size:100%;} #ygrp-mlmsg * {line-height:1.22em;} #ygrp-text{ font-family: Georgia; } #ygrp-text p{ margin: 0 0 1em 0; } #ygrp-tpmsgs{ font-family: Arial; clear: both; } #ygrp-vitnav{ padding-top: 10px; font-family: Verdana; font-size: 77%; margin: 0; } #ygrp-vitnav a{ padding: 0 1px; } #ygrp-actbar{ clear: both; margin: 25px 0; white-space:nowrap; color: #666; text-align: right; } #ygrp-actbar .left{ float: left; white-space:nowrap; } .bld{font-weight:bold;} #ygrp-grft{ font-family: Verdana; font-size: 77%; padding: 15px 0; } #ygrp-ft{ font-family: verdana; font-size: 77%; border-top: 1px solid #666; padding: 5px 0; } #ygrp-mlmsg #logo{ padding-bottom: 10px; } #ygrp-vital{ background-color: #e0ecee; margin-bottom: 20px; padding: 2px 0 8px 8px; } #ygrp-vital #vithd{ font-size: 77%; font-family: Verdana; font-weight: bold; color: #333; text-transform: uppercase; } #ygrp-vital ul{ padding: 0; margin: 2px 0; } #ygrp-vital ul li{ list-style-type: none; clear: both; border: 1px solid #e0ecee; } #ygrp-vital ul li .ct{ font-weight: bold; color: #ff7900; float: right; width: 2em; text-align:right; padding-right: .5em; } #ygrp-vital ul li .cat{ font-weight: bold; } #ygrp-vital a { text-decoration: none; } #ygrp-vital a:hover{ text-decoration: underline; } #ygrp-sponsor #hd{ color: #999; font-size: 77%; } #ygrp-sponsor #ov{ padding: 6px 13px; background-color: #e0ecee; margin-bottom: 20px; } #ygrp-sponsor #ov ul{ padding: 0 0 0 8px; margin: 0; } #ygrp-sponsor #ov li{ list-style-type: square; padding: 6px 0; font-size: 77%; } #ygrp-sponsor #ov li a{ text-decoration: none; font-size: 130%; } #ygrp-sponsor #nc { background-color: #eee; margin-bottom: 20px; padding: 0 8px; } #ygrp-sponsor .ad{ padding: 8px 0; } #ygrp-sponsor .ad #hd1{ font-family: Arial; font-weight: bold; color: #628c2a; font-size: 100%; line-height: 122%; } #ygrp-sponsor .ad a{ text-decoration: none; } #ygrp-sponsor .ad a:hover{ text-decoration: underline; } #ygrp-sponsor .ad p{ margin: 0; } o {font-size: 0; } .MsoNormal { margin: 0 0 0 0; } #ygrp-text tt{ font-size: 120%; } blockquote{margin: 0 0 0 4px;} .replbq {margin:4} --> </style> </head> <!--~-|**|PrettyHtmlEnd|**|-~--> </html><!--End group email --> --TU-DNbqIGHufnl8yMB0y7InFFdSmiVqHlkB5Akv--