Safari Bookmarklet - accediendo a DOM

1

He intentado los siguientes bookmarklets:

  

javascript: document.body.style.width = '50% ';

o

  

javascript: document.getElementsByTagName ('body') [0] .width = '50% ';

Ambos funcionan en la consola, pero no en bookmarklet. ¿Cuál es la razón?

Ambos funcionan bien como marcadores de Chrome.

Además, este bookmarklet funciona bien (en videos HTML5):

  

javascript: document.getElementsByTagName ("video") [0] .playbackRate = 2.5

    
pregunta Dzh 20.06.2015 - 07:28

1 respuesta

1

Safari requiere que un signo de porcentaje literal en una URL ( % ) esté codificado en URL en un bookmarklet ( %25 ... aunque parece que solo se agregaron 25, el signo de porcentaje seguido de dos números se decodifica a un signo de porcentaje literal). Además, la propiedad es .style.width , no solo .width .

Cambie su bookmarklet a esto:

javascript:document.getElementsByTagName("body")[0].style.width='50%25';

He confirmado que esto funciona en Safari v8.0.6 (OS X 10.10.3).

    
respondido por el tubedogg 20.06.2015 - 08:45

Lea otras preguntas en las etiquetas