Vraag Hoe kan ik een gebruikersscript uitvoeren voordat inline-scripts op een webpagina worden uitgevoerd?


Ik wil een greasemonkey-type script maken voor firefox dat vóór de scripts op de pagina wordt uitgevoerd. Greasemonkey-scripts worden uitgevoerd na scripts op de pagina, dus dat zal niet werken. De reden dat ik dit nodig heb, is omdat ik een van de scripts op de pagina wil bewerken. Specifiek wil ik een script verwijderen dat de pagina dwingt om in een frame te laden, omdat de pagina in een frame wordt onderbroken F5 (Als u op F5 drukt, springt de pagina terug naar de voorpagina in plaats van de huidige pagina opnieuw te laden). Ook wil ik de pagina niet via een proxy laden met AJAX en overschakelen naar chrome / opera is ook geen optie. Ik zat te denken dat de Jetpack-add-on zou werken, maar het lijkt alleen dezelfde gebeurtenis te hebben die greasemonkey gebruikt, DOMContentLoaded. Om het even welke ideeën?


12
2018-04-08 18:07


oorsprong


antwoorden:


[bewerk 2013] Gebruik de page-mod module van de add-on SDK met contentScriptWhen = start.


ouder: Juist, alleen nieuwere Firefox-builds (momenteel 3.7 nighlies, kunnen later worden toegevoegd aan 3.6.x) hebben ondersteuning voor het uitvoeren van aangepaste scripts voordat inhoudspecifieke scripts. ik schreef een prototype van een Jetpack-SDK-module om te profiteren van de nieuwe melding.

Is het een <script src> of een inline script? In het eerste geval kan het worden geblokkeerd met een inhoudsbeleid (iets adblock-achtig).


7
2018-04-09 18:51