javascript - Userscript not running on ajax loaded content. (waitForKeyElements not working) -


i have script scans page phone numbers , adds link place call via voip api. it's pretty simple, , works on every page.

however doesn't work on 1 page really want run on (unfortunately, page behind paywall, link useless).

my script (essentially copy of linkify (http://userscripts-mirror.org/scripts/review/6111) updated fit needs):

// ==userscript==  // @include        *  // @require        http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js  // @require        https://gist.github.com/raw/2625891/waitforkeyelements.js  // @grant    gm_addstyle  // ==/userscript==  const defaultprefix= '+1';    //	begin modify area	  const rcusername = ""; // account info temp removed  const rcpassword = "";  const rcextension = "";  const rcringout = "";  const rccallerid = "";  const rcprompt = "0";  //	end modify    //close new window after starting call  if (location.pathname == "/ringout.asp") {window.close();}     // leftovers various attempts data before code ran.  /*document.getelementbyid("relationships_tab_nav").focus();  document.getelementbyid("notes_tab_nav").focus();  document.getelementbyid("time_tab_nav").focus();;  document.getelementbyid("communications_tab_nav").focus();  document.getelementbyid("permissions_tab_nav").focus();  document.getelementbyid("matter-tabs").addeventlistener("mouseover", ringitout());*/    function ringitout (jnode) {      const trackregex = /(\(?(\d{3})?(?!$)(?:[\-\.\)\s]?(?!$)\s?)(\d{3})(?!$)[\s\-\.\(]?(\d{4})(?!\d)(\s?(?:x|ext|ex)\.?(\d{0,6})?)?)(?!\d)/ig;  	function trackurl(t) {        if (string(t).charat(0)!= '+') t= defaultprefix + string(t);        if (rcprompt == "1") {          return "https://service.ringcentral.com/ringout.asp?cmd=call&username=" + rcusername + "&ext=" + rcextension + "&password=" + rcpassword + "&to=" + (string(t).replace(/[\-\s\/\(\)\.]/g, "")) + "&from=" + rcringout + "&clid=" + rccallerid + "&prompt=1";        } else {          return "https://service.ringcentral.com/ringout.asp?cmd=call&username=" + rcusername + "&ext=" + rcextension + "&password=" + rcpassword + "&to=" + (string(t).replace(/[\-\s\/\(\)\.]/g, "")) + "&from=" + rcringout + "&clid=" + rccallerid +"";        }         }    var allowedparents = [          "abbr", "acronym", "address", "applet", "b", "bdo", "big", "blockquote", "body",           "caption", "center", "cite", "code", "dd", "del", "div", "dfn", "dt", "em",           "fieldset", "font", "form", "h1", "h2", "h3", "h4", "h5", "h6", "i", "iframe",          "ins", "kdb", "li", "nobr", "object", "pre", "p", "q", "samp", "small", "span", "strike",           "s", "strong", "sub", "sup", "td", "th", "tt", "u", "var"          ];    var xpath = "//text()[(parent::" + allowedparents.join(" or parent::") + ")" + "]";    var candidates = document.evaluate(xpath, document, null, xpathresult.unordered_node_snapshot_type, null);    (var cand = null, = 0; (cand = candidates.snapshotitem(i)); i++) {      if (trackregex.test(cand.nodevalue)) {        var span = document.createelement("span");        var source = cand.nodevalue;        cand.parentnode.replacechild(span, cand);        trackregex.lastindex = 0;        (var match = null, lastlastindex = 0; (match = trackregex.exec(source)); ) {          span.appendchild(document.createtextnode(source.substring(lastlastindex, match.index)));          var = document.createelement("a");          a.setattribute("href", trackurl(match[0]));          var num = document.createtextnode(match[0]);          var img = document.createelement("img");          img.setattribute("src", "http://cmsresources.windowsphone.com/windowsphone/en-us/how-to/wp7/inline/phone-icon-add-call.png"); //temp hotlink random phone icon.          img.setattribute("height", "18px");          img.setattribute("title", "ringout "+match[0]);          span.appendchild(num);          span.appendchild(document.createtextnode(" "));          span.appendchild(a);          a.setattribute("target", '_blank');          a.appendchild(img);          lastlastindex = trackregex.lastindex;        }        span.appendchild(document.createtextnode(source.substring(lastlastindex)));        span.normalize();      }    }  }  //waitforkeyelements ("matter-tabs", ringitout);  //waitforkeyelements ("#info_tab", ringitout);  //waitforkeyelements ("#client_tab", ringitout);  waitforkeyelements ("#relationships_tab", ringitout); //of tabs, 1 want load  //waitforkeyelements ("#tasks_tab", ringitout);  //waitforkeyelements ("#calendar_entries_tab", ringitout);  //waitforkeyelements ("#notes_tab", ringitout);  //waitforkeyelements ("#time_tab", ringitout);  //waitforkeyelements ("#expenses_tab", ringitout);  //waitforkeyelements ("#communications_tab", ringitout);  //waitforkeyelements ("#permissions_tab", ringitout);
happening on problem page.

  1. a page has 12 total tabs in navbar. on initial load page loads content 2 tabs (#info_tab , #client_tab). script runs expected on data loaded in these tabs/divs. however, not run on of content other navigation tabs. have tried multiple work-arounds, including using waitforkeyelements discussed on several posts, , while waitforkeyelements does re-run script when identified tabs/divs loaded (phone icons inserted on regex matched numbers throughout page), still not picking data in these new tabs. (so it's running on info, not seem running on new info).

i've posted code of page below, heavily redacted since contains sensitive information. separated head

    <head>        <script type="text/javascript">          var _kmq = _kmq || [];          var _kmk = _kmk || 'xxxxxxxxxxxxxxxxxxx';          function _kms(u) {            settimeout(function() {              var d = document,                f = d.getelementsbytagname('script')[0],                s = d.createelement('script');              s.type = 'text/javascript';              s.async = true;              s.src = u;              f.parentnode.insertbefore(s, f);            }, 1);          }          _kms('//i.kissmetrics.com/i.js');          _kms('//doug1izaerwt3.cloudfront.net/' + _kmk + '.1.js');        </script>          <title>xxxxxx</title>        <!-- removed icons -->    <script type="text/javascript">window.nreum||(nreum={});nreum.info={"beacon":"beacon-1.newrelic.com","errorbeacon":"bam.nr-data.net","licensekey":"xxxxxx","applicationid":"xxxxxx","transactionname":"xxxxxx=","queuetime":0,"applicationtime":814,"agenttoken":null,"agent":"js-agent.newrelic.com/nr-476.min.js"}</script>  <script type="text/javascript">    (window.nreum||(nreum={})).loader_config={xpid:"xxxxxx"};window.nreum||(nreum={}),__nr_require=function(t,e,n){function r(n){if(!e[n]){var o=e[n]={exports:{}};t[n][0].call(o.exports,function(e){var o=t[n][1][e];return r(o?o:e)},o,o.exports)}return e[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<n.length;o++)r(n[o]);return r}({qjf3ax:[function(t,e){function n(t){function e(e,n,a){t&&t(e,n,a),a||(a={});for(var c=s(e),f=c.length,u=i(a,o,r),d=0;f>d;d++)c[d].apply(u,n);return u}function a(t,e){f[t]=s(t).concat(e)}function s(t){return f[t]||[]}function c(){return n(e)}var f={};return{on:a,emit:e,create:c,listeners:s,_events:f}}function r(){return{}}var o="nr@context",i=t("gos");e.exports=n()},{gos:"7esdfh"}],ee:[function(t,e){e.exports=t("qjf3ax")},{}],3:[function(t){function e(t,e,n,i,s){try{c?c-=1:r("err",[s||new uncaughtexception(t,e,n)])}catch(f){try{r("ierr",[f,(new date).gettime(),!0])}catch(u){}}return"function"==typeof a?a.apply(this,o(arguments)):!1}function uncaughtexception(t,e,n){this.message=t||"uncaught error no additional information",this.sourceurl=e,this.line=n}function n(t){r("err",[t,(new date).gettime()])}var r=t("handle"),o=t(5),i=t("ee"),a=window.onerror,s=!1,c=0;t("loader").features.err=!0,window.onerror=e,nreum.noticeerror=n;try{throw new error}catch(f){"stack"in f&&(t(1),t(4),"addeventlistener"in window&&t(2),window.xmlhttprequest&&xmlhttprequest.prototype&&xmlhttprequest.prototype.addeventlistener&&t(3),s=!0)}i.on("fn-start",function(){s&&(c+=1)}),i.on("fn-err",function(t,e,r){s&&(this.thrown=!0,n(r))}),i.on("fn-end",function(){s&&!this.thrown&&c>0&&(c-=1)}),i.on("internal-error",function(t){r("ierr",[t,(new date).gettime(),!0])})},{1:8,2:5,3:9,4:7,5:20,ee:"qjf3ax",handle:"d5dulp",loader:"g9z0bl"}],4:[function(t){function e(){}if(window.performance&&window.performance.timing&&window.performance.getentriesbytype){var n=t("ee"),r=t("handle"),o=t(2);t("loader").features.stn=!0,t(1),n.on("fn-start",function(t){var e=t[0];e instanceof event&&(this.bststart=date.now())}),n.on("fn-end",function(t,e){var n=t[0];n instanceof event&&r("bst",[n,e,this.bststart,date.now()])}),o.on("fn-start",function(t,e,n){this.bststart=date.now(),this.bsttype=n}),o.on("fn-end",function(t,e){r("bsttimer",[e,this.bststart,date.now(),this.bsttype])}),n.on("pushstate-start",function(){this.time=date.now(),this.startpath=location.pathname+location.hash}),n.on("pushstate-end",function(){r("bsthist",[location.pathname+location.hash,this.startpath,this.time])}),"addeventlistener"in window.performance&&(window.performance.addeventlistener("webkitresourcetimingbufferfull",function(){r("bstresource",[window.performance.getentriesbytype("resource")]),window.performance.webkitclearresourcetimings()},!1),window.performance.addeventlistener("resourcetimingbufferfull",function(){r("bstresource",[window.performance.getentriesbytype("resource")]),window.performance.clearresourcetimings()},!1)),document.addeventlistener("scroll",e,!1),document.addeventlistener("keypress",e,!1),document.addeventlistener("click",e,!1)}},{1:6,2:8,ee:"qjf3ax",handle:"d5dulp",loader:"g9z0bl"}],5:[function(t,e){function n(t){i.inplace(t,["addeventlistener","removeeventlistener"],"-",r)}function r(t){return t[1]}var o=(t(1),t("ee").create()),i=t(2)(o),a=t("gos");if(e.exports=o,n(window),"getprototypeof"in object){for(var s=document;s&&!s.hasownproperty("addeventlistener");)s=object.getprototypeof(s);s&&n(s);  for(var c=xmlhttprequest.prototype;c&&!c.hasownproperty("addeventlistener");)c=object.getprototypeof(c);c&&n(c)}else xmlhttprequest.prototype.hasownproperty("addeventlistener")&&n(xmlhttprequest.prototype);o.on("addeventlistener-start",function(t){if(t[1]){var e=t[1];"function"==typeof e?this.wrapped=t[1]=a(e,"nr@wrapped",function(){return i(e,"fn-",null,e.name||"anonymous")}):"function"==typeof e.handleevent&&i.inplace(e,["handleevent"],"fn-")}}),o.on("removeeventlistener-start",function(t){var e=this.wrapped;e&&(t[1]=e)})},{1:20,2:21,ee:"qjf3ax",gos:"7esdfh"}],6:[function(t,e){var n=(t(2),t("ee").create()),r=t(1)(n);e.exports=n,r.inplace(window.history,["pushstate"],"-")},{1:21,2:20,ee:"qjf3ax"}],7:[function(t,e){var n=(t(2),t("ee").create()),r=t(1)(n);e.exports=n,r.inplace(window,["requestanimationframe","mozrequestanimationframe","webkitrequestanimationframe","msrequestanimationframe"],"raf-"),n.on("raf-start",function(t){t[0]=r(t[0],"fn-")})},{1:21,2:20,ee:"qjf3ax"}],8:[function(t,e){function n(t,e,n){var r=t[0];"string"==typeof r&&(r=new function(r)),t[0]=o(r,"fn-",null,n)}var r=(t(2),t("ee").create()),o=t(1)(r);e.exports=r,o.inplace(window,["settimeout","setinterval","setimmediate"],"settimer-"),r.on("settimer-start",n)},{1:21,2:20,ee:"qjf3ax"}],9:[function(t,e){function n(){c.inplace(this,d,"fn-")}function r(t,e){c.inplace(e,["onreadystatechange"],"fn-")}function o(t,e){return e}var i=t("ee").create(),a=t(1),s=t(2),c=s(i),f=s(a),u=window.xmlhttprequest,d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"];e.exports=i,window.xmlhttprequest=function(t){var e=new u(t);try{i.emit("new-xhr",[],e),f.inplace(e,["addeventlistener","removeeventlistener"],"-",function(t,e){return e}),e.addeventlistener("readystatechange",n,!1)}catch(r){try{i.emit("internal-error",[r])}catch(o){}}return e},window.xmlhttprequest.prototype=u.prototype,c.inplace(xmlhttprequest.prototype,["open","send"],"-xhr-",o),i.on("send-xhr-start",r),i.on("open-xhr-start",r)},{1:5,2:21,ee:"qjf3ax"}],10:[function(t){function e(t){if("string"==typeof t&&t.length)return t.length;if("object"!=typeof t)return void 0;if("undefined"!=typeof arraybuffer&&t instanceof arraybuffer&&t.bytelength)return t.bytelength;if("undefined"!=typeof blob&&t instanceof blob&&t.size)return t.size;if("undefined"!=typeof formdata&&t instanceof formdata)return void 0;try{return json.stringify(t).length}catch(e){return void 0}}function n(t){var n=this.params,r=this.metrics;if(!this.ended){this.ended=!0;for(var i=0;c>i;i++)t.removeeventlistener(s[i],this.listener,!1);if(!n.aborted){if(r.duration=(new date).gettime()-this.starttime,4===t.readystate){n.status=t.status;var a=t.responsetype,f="arraybuffer"===a||"blob"===a||"json"===a?t.response:t.responsetext,u=e(f);if(u&&(r.rxsize=u),this.sameorigin){var d=t.getresponseheader("x-newrelic-app-data");d&&(n.cat=d.split(", ").pop())}}else n.status=0;r.cbtime=this.cbtime,o("xhr",[n,r,this.starttime])}}}  function r(t,e){var n=i(e),r=t.params;r.host=n.hostname+":"+n.port,r.pathname=n.pathname,t.sameorigin=n.sameorigin}if(window.xmlhttprequest&&xmlhttprequest.prototype&&xmlhttprequest.prototype.addeventlistener&&!/crios/.test(navigator.useragent)){t("loader").features.xhr=!0;var o=t("handle"),i=t(2),a=t("ee"),s=["load","error","abort","timeout"],c=s.length,f=t(1);t(4),t(3),a.on("new-xhr",function(){this.totalcbs=0,this.called=0,this.cbtime=0,this.end=n,this.ended=!1,this.xhrguids={}}),a.on("open-xhr-start",function(t){this.params={method:t[0]},r(this,t[1]),this.metrics={}}),a.on("open-xhr-end",function(t,e){"loader_config"in nreum&&"xpid"in nreum.loader_config&&this.sameorigin&&e.setrequestheader("x-newrelic-id",nreum.loader_config.xpid)}),a.on("send-xhr-start",function(t,n){var r=this.metrics,o=t[0],i=this;if(r&&o){var f=e(o);f&&(r.txsize=f)}this.starttime=(new date).gettime(),this.listener=function(t){try{"abort"===t.type&&(i.params.aborted=!0),("load"!==t.type||i.called===i.totalcbs&&(i.onloadcalled||"function"!=typeof n.onload))&&i.end(n)}catch(e){try{a.emit("internal-error",[e])}catch(r){}}};for(var u=0;c>u;u++)n.addeventlistener(s[u],this.listener,!1)}),a.on("xhr-cb-time",function(t,e,n){this.cbtime+=t,e?this.onloadcalled=!0:this.called+=1,this.called!==this.totalcbs||!this.onloadcalled&&"function"==typeof n.onload||this.end(n)}),a.on("xhr-load-added",function(t,e){var n=""+f(t)+!!e;this.xhrguids&&!this.xhrguids[n]&&(this.xhrguids[n]=!0,this.totalcbs+=1)}),a.on("xhr-load-removed",function(t,e){var n=""+f(t)+!!e;this.xhrguids&&this.xhrguids[n]&&(delete this.xhrguids[n],this.totalcbs-=1)}),a.on("addeventlistener-end",function(t,e){e instanceof xmlhttprequest&&"load"===t[0]&&a.emit("xhr-load-added",[t[1],t[2]],e)}),a.on("removeeventlistener-end",function(t,e){e instanceof xmlhttprequest&&"load"===t[0]&&a.emit("xhr-load-removed",[t[1],t[2]],e)}),a.on("fn-start",function(t,e,n){e instanceof xmlhttprequest&&("onload"===n&&(this.onload=!0),("load"===(t[0]&&t[0].type)||this.onload)&&(this.xhrcbstart=(new date).gettime()))}),a.on("fn-end",function(t,e){this.xhrcbstart&&a.emit("xhr-cb-time",[(new date).gettime()-this.xhrcbstart,this.onload,e],e)})}},{1:"xl7hbi",2:11,3:9,4:5,ee:"qjf3ax",handle:"d5dulp",loader:"g9z0bl"}],11:[function(t,e){e.exports=function(t){var e=document.createelement("a"),n=window.location,r={};e.href=t,r.port=e.port;var o=e.href.split("://");return!r.port&&o[1]&&(r.port=o[1].split("/")[0].split(":")[1]),r.port&&"0"!==r.port||(r.port="https"===o[0]?"443":"80"),r.hostname=e.hostname||n.hostname,r.pathname=e.pathname,"/"!==r.pathname.charat(0)&&(r.pathname="/"+r.pathname),r.sameorigin=!e.hostname||e.hostname===document.domain&&e.port===n.port&&e.protocol===n.protocol,r}},{}],gos:[function(t,e){e.exports=t("7esdfh")},{}],"7esdfh":[function(t,e){function n(t,e,n){if(r.call(t,e))return t[e];var o=n();if(object.defineproperty&&object.keys)try{return object.defineproperty(t,e,{value:o,writable:!0,enumerable:!1}),o}catch(i){}return t[e]=o,o}var r=object.prototype.hasownproperty;e.exports=n},{}],d5dulp:[function(t,e){function n(t,e,n){return r.listeners(t).length?r.emit(t,e,n):(o[t]||(o[t]=[]),void o[t].push(e))}var r=t("ee").create(),o={};e.exports=n,n.ee=r,r.q=o},{ee:"qjf3ax"}],handle:[function(t,e){e.exports=t("d5dulp")},{}],xl7hbi:[function(t,e){function n(t){var e=typeof t;return!t||"object"!==e&&"function"!==e?-1:t===window?0:i(t,o,function(){return r++})}var r=1,o="nr@id",i=t("gos");e.exports=n},{gos:"7esdfh"}],id:[function(t,e){e.exports=t("xl7hbi")},{}],loader:[function(t,e){e.exports=t("g9z0bl")},{}],g9z0bl:[function(t,e){function n(){var t=p.info=nreum.info;if(t&&t.agent&&t.licensekey&&t.applicationid&&c&&c.body){p.proto="https"===d.split(":")[0]||t.sslforhttp?"https://":"http://",a("mark",["onload",i()]);  var e=c.createelement("script");e.src=p.proto+t.agent,c.body.appendchild(e)}}function r(){"complete"===c.readystate&&o()}function o(){a("mark",["domcontent",i()])}function i(){return(new date).gettime()}var a=t("handle"),s=window,c=s.document,f="addeventlistener",u="attachevent",d=(""+location).split("?")[0],p=e.exports={offset:i(),origin:d,features:{}};c[f]?(c[f]("domcontentloaded",o,!1),s[f]("load",n,!1)):(c[u]("onreadystatechange",r),s[u]("onload",n)),a("mark",["firstbyte",i()])},{handle:"d5dulp"}],20:[function(t,e){function n(t,e,n){e||(e=0),"undefined"==typeof n&&(n=t?t.length:0);for(var r=-1,o=n-e||0,i=array(0>o?0:o);++r<o;)i[r]=t[e+r];return i}e.exports=n},{}],21:[function(t,e){function n(t){return!(t&&"function"==typeof t&&t.apply&&!t[i])}var r=t("ee"),o=t(1),i="nr@wrapper",a=object.prototype.hasownproperty;e.exports=function(t){function e(t,e,r,a){function nrwrapper(){var n,i,s,f;try{i=this,n=o(arguments),s=r&&r(n,i)||{}}catch(d){u([d,"",[n,i,a],s])}c(e+"start",[n,i,a],s);try{return f=t.apply(i,n)}catch(p){throw c(e+"err",[n,i,p],s),p}finally{c(e+"end",[n,i,f],s)}}return n(t)?t:(e||(e=""),nrwrapper[i]=!0,f(t,nrwrapper),nrwrapper)}function s(t,r,o,i){o||(o="");var a,s,c,f="-"===o.charat(0);for(c=0;c<r.length;c++)s=r[c],a=t[s],n(a)||(t[s]=e(a,f?s+o:o,i,s,t))}function c(e,n,r){try{t.emit(e,n,r)}catch(o){u([o,e,n,r])}}function f(t,e){if(object.defineproperty&&object.keys)try{var n=object.keys(t);return n.foreach(function(n){object.defineproperty(e,n,{get:function(){return t[n]},set:function(e){return t[n]=e,e}})}),e}catch(r){u([r])}for(var o in t)a.call(t,o)&&(e[o]=t[o]);return e}function u(e){try{t.emit("internal-error",e)}catch(n){}}return t||(t=r),e.inplace=s,e.flag=i,e}},{1:20,ee:"qjf3ax"}]},{},["g9z0bl",3,10,4]);</script>        <script type="text/javascript">  //<![cdata[  window.themisstate={};themisstate.clioedge=true;  //]]>  </script>      <script src="https://d1oqwnf3xk4zzc.cloudfront.net/assets/application-cabad08e42760c7cf13dae287f24b32f.js" type="text/javascript"></script>      <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js" type="text/javascript"></script>      <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular-animate.min.js" type="text/javascript"></script>      <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular-sanitize.min.js" type="text/javascript"></script>      <script src="//cdn.jsdelivr.net/uuid.js/3.2/uuid.js" type="text/javascript"></script>      <script src="https://d1oqwnf3xk4zzc.cloudfront.net/assets/app/main-67fd3e62cd830b13c1b8940f7f659deb.js" type="text/javascript"></script>      <link href="https://d1oqwnf3xk4zzc.cloudfront.net/assets/application-656a09c60454b9c64575a7b8ae56240c.css" media="all" rel="stylesheet" type="text/css" />      <link href="https://d1oqwnf3xk4zzc.cloudfront.net/assets/application_ext-0a7657917795b698a2bd49ac0fb03070.css" media="all" rel="stylesheet" type="text/css" />      <link href="https://d1oqwnf3xk4zzc.cloudfront.net/assets/application_next-5ed4f3e7c9209825af5c6baa6f9817cd.css" media="all" rel="stylesheet" type="text/css" />      <link href="https://d1oqwnf3xk4zzc.cloudfront.net/assets/print-1396324be5be4f19295e141ed2cf8d7d.css" media="print" rel="stylesheet" type="text/css" />      <link href="https://d1oqwnf3xk4zzc.cloudfront.net/assets/typography-2365e128d234bbf8b922b83398c6461c.css" media="screen" rel="stylesheet" type="text/css" />        <script type="text/javascript">  //<![cdata[        (function() {          yahoo.namespace("clio"); yahoo.clio.currentuser = {id : xxxxxx};     jquery.namespace('jquery.clio');}  //]]>        </script>        <script src="https://d1oqwnf3xk4zzc.cloudfront.net/assets/calendar_modal-00919da5a656f1177d70f7d83f083d1d.js" type="text/javascript"></script>      <script type="text/javascript">  //<![cdata[            jq(function(){ });    //]]>  </script></head>

and body

<body class="yui-skin-sam cliov2 flag-clio-next has-modern-browser">      <!--main nav-->    <nav id="nav">      <ul>        <!--this not nav i'm having trouble with-->      </ul>    </nav>      <!--sub nav-->    <div id="subnav">      <div class="showgrid">        <ul>          <!--this not nav i'm having trouble with-->        </ul>      </div>    </div>      <!-- content -->    <div class="sidebar-content-container">      <div id="content" ng-class="{'has-sidebar':sidebaropen, 'sidebar-animate':sidebaranimate}">                <!--this trouble is-->        <div id="tab_container" class="tab_container">          <div id="matter-tabs">            <ul class="yui-nav clearfix">              <li class="selected">                <a id="info_tab_nav" href="#details_tab">info</a>              </li>              <li>                <a id="client_tab_nav" href="#client_tab">client</a>              </li>              <li><a id="transactions_tab_nav" href="#transactions_tab" data-datasrc='/matters/xxxxx/transactions'>transactions</a>              </li>              <li><a id="relationships_tab_nav" href="#relationships_tab" data-datasrc='/relationships?matter_id=xxxxx'>contacts</a>              </li>              <li><a id="tasks_tab_nav" href="#tasks_tab" data-datasrc='/tasks/dt.html?matter_id=xxxxx'>tasks</a>              </li>              <li><a id="calendar_entries_tab_nav" href="#calendar_entries_tab" data-datasrc='/calendar_entries/dt?matter_id=xxxxx'>calendar</a>              </li>              <li><a id="notes_tab_nav" href="#notes_tab" data-datasrc='/matters/xxxxx/notes'>notes</a>              </li>              <li><a id="time_tab_nav" href="#time_tab" data-datasrc='/time_entries/dt?matter_id=xxxxx'>time</a>              </li>              <li><a id="expenses_tab_nav" href="#expenses_tab" data-datasrc='/expense_entries/dt?matter_id=xxxxx'>expenses</a>              </li>              <li><a id="documents_tab_nav" href="#documents_tab" data-datasrc='/documents/dt.html?matter_id=xxxxx'>documents</a>              </li>              <li><a id="communications_tab_nav" href="#communications_tab" data-datasrc='/communications?matter_id=xxxxx'>communications</a>              </li>              <li><a id="permissions_tab_nav" href="#permissions_tab" data-datasrc='/client_connect_permissions/dt?matter_id=xxxxx'>clio connect</a>              </li>            </ul>                        <div class="yui-content">              <div id="info_tab">                <div id="file">                  <table class="simple-table" cellpadding="0" cellspacing="0" width="100%">                  <!-- html here (removed)is displayed on page load -->                  </table>                </div>                              <div id="client_tab">                <table class="simple-table" cellpadding="0" cellspacing="0" width="100%">                  <!-- html here (removed)is loaded (but not visible) on page load -->                </table>              </div>                              <div id="transactions_tab">loading, please wait...                <img alt="spinner" src="https://d1oqwnf3xk4zzc.cloudfront.net/assets/spinner-1b601670c8528f46c719b4a49ed6dcea.gif" />              </div>                              <div id="relationships_tab">loading, please wait...                <img alt="spinner" src="https://d1oqwnf3xk4zzc.cloudfront.net/assets/spinner-1b601670c8528f46c719b4a49ed6dcea.gif" />              </div>                              <div id="tasks_tab">loading, please wait...                <img alt="spinner" src="https://d1oqwnf3xk4zzc.cloudfront.net/assets/spinner-1b601670c8528f46c719b4a49ed6dcea.gif" />              </div>                              <div id="calendar_entries_tab">loading, please wait...                <img alt="spinner" src="https://d1oqwnf3xk4zzc.cloudfront.net/assets/spinner-1b601670c8528f46c719b4a49ed6dcea.gif" />              </div>                              <div id="notes_tab">loading, please wait...                <img alt="spinner" src="https://d1oqwnf3xk4zzc.cloudfront.net/assets/spinner-1b601670c8528f46c719b4a49ed6dcea.gif" />              </div>                              <div id="time_tab">loading, please wait...                <img alt="spinner" src="https://d1oqwnf3xk4zzc.cloudfront.net/assets/spinner-1b601670c8528f46c719b4a49ed6dcea.gif" />              </div>                              <div id="expenses_tab">loading, please wait...                <img alt="spinner" src="https://d1oqwnf3xk4zzc.cloudfront.net/assets/spinner-1b601670c8528f46c719b4a49ed6dcea.gif" />              </div>                              <div id="documents_tab">loading, please wait...                <img alt="spinner" src="https://d1oqwnf3xk4zzc.cloudfront.net/assets/spinner-1b601670c8528f46c719b4a49ed6dcea.gif" />              </div>                              <div id="communications_tab">loading, please wait...                <img alt="spinner" src="https://d1oqwnf3xk4zzc.cloudfront.net/assets/spinner-1b601670c8528f46c719b4a49ed6dcea.gif" />              </div>                              <div id="permissions_tab">loading, please wait...                <img alt="spinner" src="https://d1oqwnf3xk4zzc.cloudfront.net/assets/spinner-1b601670c8528f46c719b4a49ed6dcea.gif" />              </div>                            </div><!--yui-nav clearfix-->          </div><!--matter-tabs-->        </div><!--tab_container-->        <script>          jquery(function() {            jquery.clio.matters.initializetabloader();          });        </script>        <script type="text/javascript">          //<![cdata[            setinterval(function() {            var polling = yahoo.namespace("clio.polling");            polling.isdevelopment = false;            polling.poll();          }, 300000);           //]]>        </script>      </div><!--content-->      <div id="sidebar" ng-class="{open:sidebaropen, 'sidebar-animate':sidebaranimate}">      </div>    </div><!--sidebarcontentcontainer-->  </body>  </html>

  1. based on console, seems content each of remaining 10 tabs loaded via 2 separate http requests whenever user mousesover particular nav tab. first request seems to page wrapper newly loaded data.

for example, console shows:

xhr finished loading: "https //website.com/relationships?id=xxxxxxxxxx"

(i'll post code wrapper page in comment, since i'm pushing max characters per post limit).

that "wrapper page" pulls json data (apparently using dtrender1, it's worth).

xhr finished loading: "https //website.com/relationships.json?id=xxxxxxxxxx&secho=1&icol…=asc&dt_search%5bquery%5d=&dt_table_id=relationships_table&_=14174695xxxxx".

  1. like said, tried waitforkeyelements, i've tried adding event listeners, have tried running script on settimeout, have tried looping it, have tried adding button manually run script after data loaded, tried adding focus links try , load data before script ran... no matter cannot script run on after-loaded data.

i @ loss on if can work, , i've given on this. possible script run data loaded way? ideas.


Comments

Popular posts from this blog

ruby on rails - RuntimeError: Circular dependency detected while autoloading constant - ActiveAdmin.register Role -

c++ - OpenMP unpredictable overhead -

javascript - Wordpress slider, not displayed 100% width -