Si vous souhaitez exécuter le bookmarklet à partir d'une page chargée sur le même domaine (et avec le même schéma) que votre emplacement cible, vous pouvez le faire (en quelque sorte) en le chargeant dans un iframe.
javascript:
document.body.innerHTML = '<iframe src="http://example.com/page2.html" onload="this.contentWindow.location.assign(`javascript:
document.body.style.textTransform = \'uppercase\'; /* put code here */
void(0);`); this.onload = null;" width=100% height=100%>';
Notez l'utilisation de tics arrière pour une chaîne de caractères de plusieurs lignes pour des raisons de lisibilité. Le site onload = null
est nécessaire pour éviter une boucle infinie, car onload
se déclenchera après l'attribution du code javascript à l'emplacement.
(Testé uniquement dans Chrome.)