Pregunta

Estoy trabajando en un bookmarklet, y pensé en tirar abajo un desafío:. Cómo inyectar un archivo JavaScript externo desde un enlace en el menor número de caracteres posible

Esta es la más corta que era capaz de llegar a:

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

Eso es 88 caracteres sin la URL.

¿Puede el desbordamiento de pila javascript gurús aquí hacer mejor? Voy a estar aceptando la respuesta trabajar con los caracteres menor cantidad, por lo que pongo en sus tapas de pensamiento!

(Una cosa: el bookmarklet debe trabajar en todos los navegadores Este es una solución inteligente, pero doesn. 't funciona en todos los navegadores, ya que devuelve un valor.)

¿Fue útil?

Solución

Si se asume que String.prototype no está contaminada, podemos ahorrar algunos caracteres.

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

Otros consejos

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

79 caracteres. Crédito Ben en blanco para el uso de void.

No estoy seguro de por qué está envolviendo esta función en un recinto - que parece que funciona perfectamente sin y es casi una docena de personajes más cortos:

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

Aparte de eso, sin embargo, su aplicación se ve bastante minimalista.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top