Pergunta

Eu estou trabalhando em um bookmarklet, e pensei em derrubar um desafio:. Forma de injectar um arquivo javascript externo a partir de um link em tão poucos caracteres possível

Aqui está o mais curto eu era capaz de chegar a:

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

Isso é 88 caracteres, sem a URL.

Pode o javascript gurus Stack Overflow aqui fazer melhor? Eu vou ser aceitar a resposta trabalhar com os personagens menor número, por isso, colocar no seu pensamento bonés!

(uma coisa:. O trabalho bookmarklet obrigação em todos os principais navegadores Este é uma solução inteligente, mas doesn 't trabalho em todos os principais navegadores, porque ele retorna um valor.)

Foi útil?

Solução

Assumindo que String.prototype não está contaminada, podemos salvar alguns caracteres.

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

Outras dicas

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

79 caracteres. Crédito para Ben em branco para o uso de void.

Eu não sei por que você está embrulho isso em um gabinete de função - parece funcionar perfeitamente sem e é quase uma dúzia de personagens mais curto:

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

Além de que, no entanto, sua implementação parece muito minimalista.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top