I think that since this problem (at least for me) is only a flash
problem, that writing an extension to disable certain
embed{display:none}
until DOMContentLoaded (after userscripts, or just before)
embed{display:block}
(or body element) would very likely solve any sort of problem.... of
flash playing, then being removed, and played again (rare but
annoying=)
it would speed up dom mods too (body{display:none}) I believe since
changes would not have to be rendered until you said "go" effectively,
though unfortunately certain calls do not work (you cannot measure the
width/position of display:none things)
would a
http://userstyles.org/ possibly execute early enough? (tested,
seems to) Then your GM script just has to set the display to be
something visible for the things you want visible (at the right
moment). Unfortunately complicated way to solve this. Google Chrome
has a pre-DOMContentLoaded "early injection" option for userscripts,
which would possibly be perfect for injecting CSS (you define your own
contentloaded listener). Not sure exactly when stylish operates
(other than before contentloaded), it does not modify UserContent.css
http://forums.mozillazine.org/viewtopic.php?f=19&t=824685&start=0&st=0&sk=t&sd=a
Still requiring people to install both is not something I want to do
(unless it works, and no alternative in sight). Installing one
extension is complex enough, still its possible to add an enhanced
functionality through an additional extension plugin... without
negatively effecting your gm scripts functionality. Of course the
added "benefit" (horrible consequence) of doing some dual-plugin model
is that when they disable GM or your script, then the site breaks....
unless they disable the style too
This is more of an issue on slow internet connections, but its a huge
issue certainly for those people and even on fast bandwidth
occasionally that the video plays before your script "moves" it to the
correct place in dom (or other modification). Some way to move a
flash element in DOM without it stopping playing would also solve the
problem for me (most superior circumstance).
Its a well known flash bug (to me) that if you change the
position:relative (for flash) to position:fixed the flash reloads and
starts from the beginning again! whats up with that... its things
like this that we have html5 imho... its the same type of bug except
when you remove it from the tree and place it elsewhere, it makes
sense, whereas this does not! (another example: dragging tabs into
new windows, compare a playing flash video in chrome versus Firefox).
IMHO there is almost always something wrong with resetting the same
flash content when its not explicitly requested. (loss of video
buffer)