m2O

2007/03/31 (土)

flash 上でマウスジェスチャーできるようにする user.js 3(Firefox 2.0.0.3+)

|  flash 上でマウスジェスチャーできるようにする user.js 3(Firefox 2.0.0.3+) - m2O を含むブックマーク

Firefox 2.0.0.3 からは embed 要素に wmode="opaque" 属性があっても flashコンテキストメニューが表示されるようになったようなので対応しました。

GreaseMonkey
enablemousegesture.user.js

この変更によって名前と処理内容が合わなくなってしまうので、「flashaddwmode」から「enablemousegesture」に変更しました。前のは削除してください。

操作が少し変わりまして、

  1. クリックコンテキストメニュー復帰(movie は止まらない)
  2. ダブルクリックで wmode を削除(movie は最初から)

としています。

--

やっていることは簡単で、前回の「wmode="opaque" を付加」した後に透明 div を被せているだけです。
div を被せたことで wmode は不要のように思えますが、wmode が無いと flash は z-index を無視して最前面に出てくるので div を被せることが出来ないのです(これは Opera も同じ)。

あともうひとつ面白い挙動がありまして、被せる div の position を absolute でなく fixed にすると、opacity に関わらず flash の画面を覆ってしまいます。変なの。

nanasinanasi2008/06/02 23:54mixi動画上ではマウスジェスチャーが出来ないのですが、
なんとか改善してもらうことは可能でしょうか?

miya2000miya20002008/06/03 01:19すみません。mixiのアカウントを持ってないので確認のしようがありません。申し訳ないです。
が、どうなんでしょ? mixi動画というのは flash ですか? それならなんとかなるかもですが。

Yasaiseikatsu100Yasaiseikatsu1002008/11/09 00:45flashをダブルクリックしてもmovieが最初から再生されないようにしたいのですが、
スクリプトの次の部分を削除すればいいでしょうか?

el.addEventListener('dblclick',function(){ // remove wmode (and restart movie).
recovery();
el.removeEventListener('dblclick',arguments.callee,false);
},false);

miya2000miya20002008/11/09 08:01はい、それでいいですよ。

events1227events12272009/11/11 00:46Firefox3.5.5でも動くバージョンを作成していただけないでしょうか

miya2000miya20002009/11/11 07:09id:events1227 なんてことでしょう! しらべてみますね。

events1227events12272009/11/12 02:08お手数ですが他に検索しても作ってる方がいらっしゃらないので、よろしくお願いします。

miya2000miya20002009/11/12 07:27id:events1227 あれ、こちらでは動作しているように見えます。例えば http://www.adobe.com/jp/products/flashplayer/ 等。
特定のサイト・環境で動作しないということであれば教えてください。
または他のGreaseMonkeyスクリプトと干渉して動作していないのかもしれません。こちらで再現しないとちょっと対応は難しいですね。

events1227events12272009/11/12 16:45どのサイトでもダメですね。
「ダブルクリックでmovieを最初から」だけ機能します。
使ってるジェスチャーはFiregestureで
他に入れてるスクリプトはAutopagerizeとGreased Lightboxだけです。
未だにwindows2000使ってるせいか、他のアドオンと干渉してるかですかね・・・。ありがとうございました。

トラックバック - http://orera.g.hatena.ne.jp/miya2000/20070331