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.