Frage

Ich arbeite an einem Bookmarklet, und dachte, dass ich eine Herausforderung hinwerfen würde. Wie in so wenigen Zeichen wie möglich eine externe Javascript-Datei von einem Link zu injizieren

Hier ist die kürzest ich war in der Lage zu kommen mit:

javascript:(function(d){d.body.appendChild(d.createElement('script')).src='URL'})(document)

Das ist 88 Zeichen ohne die URL an.

Kann die Stack-Überlauf Javascript-Gurus hier besser machen? Ich werde die Arbeit Antwort mit den wenigstenen Zeichen zu akzeptieren, so setzen Sie auf Ihrem Denken Kappen!

(Eine Sache: das Bookmarklet muss in allen wichtigen Browsern funktionieren Diese ist eine clevere Lösung, aber doesn. ‚t in allen gängigen Browsern funktionieren, weil es einen Wert zurückgibt.)

War es hilfreich?

Lösung

Unter der Annahme, dass String.prototype nicht kontaminiert ist, können wir einige Zeichen speichern.

javascript:with(document)(body.appendChild(createElement('script')).src='URL')._

Andere Tipps

javascript:void(with(document)body.appendChild(createElement('script')).src='URL')

79 Zeichen. Kredit zum Ben Blank für die Verwendung von void.

Ich bin mir nicht sicher, warum diese in einem Funktionsgehäuse sind Einwickeln - es ganz gut zu funktionieren scheint ohne und ist fast ein Dutzend Zeichen kürzer:

javascript:void(document.body.appendChild(document.createElement('script')).src='URL')

Abgesehen davon, aber Ihre Implementierung sieht ziemlich minimalistisch.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top