Domanda

Sto lavorando su un bookmarklet, e ho pensato di buttare giù una sfida:. Come iniettare un javascript file esterno da un collegamento nel minor numero possibile di caratteri

Ecco il più breve sono stato in grado di venire con:

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

Questo è 88 caratteri, senza l'URL.

Può lo Stack Overflow javascript guru qui fare di meglio? Sarò accettando la risposta a lavorare con i personaggi più basso in modo da mettere sul vostro pensiero tappi!

(Una cosa: il bookmarklet deve lavorare in tutti i principali browser Questa è una soluzione intelligente, ma doesn. 't lavorare in tutti i principali browser, perché restituisce un valore.)

È stato utile?

Soluzione

Supponendo che String.prototype non è contaminato, siamo in grado di salvare alcuni caratteri.

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

Altri suggerimenti

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

79 caratteri. Credit Ben Blank per l'uso di void.

Non sono sicuro che il motivo per cui si sta avvolgendo questo in un involucro funzione - sembra funzionare perfettamente senza ed è quasi una dozzina di caratteri più brevi:

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

A parte questo, però, l'implementazione sembra piuttosto minimalista.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top