Question

Je travaille sur un bookmarklet, et pensé que je jetais un défi:. Comment injecter un fichier javascript externe à partir d'un lien dans le moins de caractères possible

Voici le plus que je pouvais venir avec:

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

C'est 88 caractères sans l'URL.

Peut le débordement de la pile javascript gourous ici faire mieux? J'accepterai la réponse travailler avec le plus petit nombre de caractères, alors mettez vos méninges!

(Une chose: le bookmarklet doit travailler dans tous les principaux navigateurs Cette est une solution intelligente, mais doesn. « t travailler dans tous les principaux navigateurs, car il renvoie une valeur.)

Était-ce utile?

La solution

En supposant que String.prototype ne soit pas contaminé, nous pouvons sauver quelques caractères.

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

Autres conseils

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

79 caractères. Crédit Ben Blank pour l'utilisation de void.

Je ne sais pas pourquoi vous envelopper cela dans une enceinte de fonction - il semble fonctionner parfaitement sans et est presque une douzaine de personnages plus courts:

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

En dehors de cela, cependant, votre mise en œuvre semble assez minimaliste.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top