I don't know why, but my greasemonkey/tampermonkey script refuses to run on pages that have an iframe. The script runs inside the iframe, but not on the root domain. If I use the @noframes option, nothing happens at all on pages with an iframe.
I've even resorted to // @match http://*/*
My test code is very simple...
var script = document.createElement('script'); script.type = 'text/javascript'; script.src = document.location.protocol + '//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'; document.getElementsByTagName('head')[0].appendChild(script) var title = $('title').html(); alert(title); This will show an alert with the name of the iframe, but not the actual site. I've tried it in both greasemonkey and tampermonkey.