55// @author James Teh <jamie@jantrid.net>
66// @copyright 2011-2012 James Teh
77// @license GNU General Public License version 2.0
8- // @version 0.20120709 .01
8+ // @version 0.20120724 .01
99// @include *
1010// ==/UserScript==
1111
@@ -17,9 +17,9 @@ function reloadFlash(elm) {
1717 elm . parentNode . replaceChild ( elm . cloneNode ( ) , elm ) ;
1818}
1919
20- function killWindowlessFlash ( ) {
20+ function killWindowlessFlash ( target ) {
2121 // First, deal with embed elements.
22- var elms = document . getElementsByTagName ( "embed" ) ;
22+ var elms = target . getElementsByTagName ( "embed" ) ;
2323 for ( var i = 0 ; i < elms . length ; ++ i ) {
2424 var elm = elms [ i ] ;
2525 if ( elm . getAttribute ( "type" ) != "application/x-shockwave-flash" )
@@ -32,7 +32,7 @@ function killWindowlessFlash() {
3232 }
3333
3434 // Now, deal with object elements.
35- var elms = document . getElementsByTagName ( "object" ) ;
35+ var elms = target . getElementsByTagName ( "object" ) ;
3636 for ( var i = 0 ; i < elms . length ; ++ i ) {
3737 var elm = elms [ i ] ;
3838 if ( elm . getAttribute ( "type" ) != "application/x-shockwave-flash" )
@@ -53,7 +53,13 @@ function killWindowlessFlash() {
5353}
5454
5555function onLoad ( evt ) {
56- killWindowlessFlash ( ) ;
56+ killWindowlessFlash ( document ) ;
5757}
5858
5959window . addEventListener ( "load" , onLoad ) ;
60+ var observer = new MutationObserver ( function ( mutations ) {
61+ mutations . forEach ( function ( mutation ) {
62+ killWindowlessFlash ( mutation . target ) ;
63+ } ) ;
64+ } ) ;
65+ observer . observe ( document , { childList : true , subtree : true } ) ;
0 commit comments