If a page contains an Iframe that is not displayed and that iframe loads content that should cause a GreaseMonkey? script to execute, the script will not run. It will only run on visible Iframes.
The attached files demonstrate the problem. Install the script which just adds text to the bottom of all pages. Then open the test.html file. This contains 2 iframes: one visible and one hidden. A tab panel at the top of the page is used to "switch" between them. 2 links at the top of the page will load www.google.com in the specified "tab" (iframe). The iframes have an onload function which will display that iframe and hide the other when a page loads.
Tests:
1. With tab 1 displayed click load google in tab 2. This will load http://www.google.com in the hidden iframe "Tab2pane" and then display it.
2. With tab 2 displayed click load google in tab 2.
Expected results:
Both should display the text "Grease Monkey ran on this page".
Actual results:
Only test #2 displays the text. Greasemonkey never executed on the hidden iframe.