2 Stimmen

Wie verschachtle ich das cdn-Laden von jquery und jquery-ui in einem Bookmarklet?

Ich habe Beispiele für das Verknüpfen und Laden von Jquery in Bookmarklets gefunden, konnte aber keinen Fall finden, in dem sowohl Jquery als auch Jquery-ui geladen wurden.

Das ist das Wesentliche, woran ich arbeite: Linktext Update die folgende Gist ist jetzt funktionsfähig.

<a href='javascript:(function(e,a,g,h,f,z,c,b,d){if(!(f=e.jQuery)||g>f.fn.jquery||h(f)){c=a.createElement("script");c.type="text/javascript";c.src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js";c.onload=c.onreadystatechange=function(){z=a.createElement("script");z.type="text/javascript";z.src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js";z.onload=z.onreadystatechange=function(){if(!b&&(!(d=this.readyState)||d=="loaded"||d=="complete")){h((f=e.jQuery).noConflict(1),b=1);f(c).remove()}};a.documentElement.childNodes[0].appendChild(c)}}})(window,document,"1.4.4",function($,L){/*ENTER JQUERY-UI CODE HERE*/});'>CC</a>

2voto

Mark Essel Punkte 4428

Ich habe das folgende Bookmarklet zum Laufen gebracht:

    javascript:
(function(){
  var s1=window.document.createElement('script');
  s1.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js');
  window.document.body.appendChild(s1);
  var s2=window.document.createElement('script');
  s2.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js');
  window.document.body.appendChild(s2);
  s1.onload=s1.onreadystatechange=function(){
    if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){
      s2.onload=s2.onreadystatechange=function(){
        if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){
          $('div').draggable();
          $('div').resizable();
          $('div').css({'border-style':'dashed','border-width':'3px','border-color':'black','background':'#00ccFF'});
        }
      }
      ;
    }
  }
  ;
}
)();

Hier ist dasselbe Bookmarklet komprimiert, die Leerzeichen wurden entfernt und es ist einsatzbereit:

javascript:(function(){var s1=window.document.createElement('script');s1.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js');window.document.body.appendChild(s1);var s2=window.document.createElement('script');s2.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js');window.document.body.appendChild(s2);s1.onload=s1.onreadystatechange=function(){if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){s2.onload=s2.onreadystatechange=function(){if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){$('div').draggable();$('div').resizable();$('div').css({'border-style':'dashed','border-width':'3px','border-color':'black','background':'#00ccFF'});}};}};})();

Referenzen:

  • Ich fand die folgende Seite sehr hilfreich, um die Lesbarkeit zu verbessern und Lesezeichen zu schreiben: subsimple.com
  • Auch zum Testen jsfiddle.net erwies sich als sehr hilfreich für unterwegs

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X