1

簡単に言うと、ブログのテーマテンプレートを開発しており、投稿をブロック単位で表示できます。投稿の主要部分が最初に表示され、次に投稿ブロックにカーソルを合わせると、その上に副次的なコンテンツが表示されます。

すべての主要なブラウザのMacバージョンですべてが正常に機能しますが、PCでブラウジングを開始すると、Flash Video埋め込みを介してコンテンツを表示しようとすると、すべての地獄が解き放たれます。フラッシュ要素はコンテンツ上に表示されたままになります。それは完全に使用できません。

PCから、ここで問題の例を見ることができます:http: //photorific.tumblr.com

これはWindows用のFlashPluginのバグであるとほぼ確信していますが、他の誰かが以前にこの問題に遭遇したことがあるかどうか、そして解決策があるかどうか疑問に思いました。

この問題はしばらくの間現れており、どんな助けでも本当に、本当に、本当に感謝されるでしょう!

4

3 に答える 3

3

これは、Windows上のFlashPlayerの既知のバグです。基本的に、任意の形式のz-indexを無視するか、フラッシュオブジェクトがz-index:+INFINITYにあると想定します。いずれにせよ、2つの修正があります。前に述べたように、wmode = transparent paramを使用できますが、これにより、他のコンテンツがフラッシュムービーからブリードします。もう1つのオプションは、FlashムービーとFlashムービーに表示するコンテンツの間にIFRAMEシムを使用することです。

MooToolsにはIframeShimというプラグインがあり、これを自動的に実行できます。jqueryで利用できる同等の関数がなかったら、私は驚きます。

于 2010-03-15T04:54:07.710 に答える
2

フラッシュコンテンツのオブジェクトタグにwmode="transparent"を入れてみてください。

于 2010-03-05T06:09:23.050 に答える
1

返信ありがとうございます。@マーク、私が夢中にならないことを知っておくのは良いことです。

Tumblrがビデオコードを出力するときにネイティブに行わないウィンドウモードプロパティの設定が正常に機能することを私は知りました....しかし、それはでopaqueはなく必要transparentでした。

生のビデオ文字列(<object><params /><embed /></object>)を使用して、私が思いついた解決策は次のとおりです。

/*  Add wmode = opaque
-------------------------------------------------------*/
if( ! player.match(/name="wmode"/))
    player = player.replace(/<param/, '<param name="wmode" value="opaque" /><param');

if( ! player.match(/wmode="(transparent|opaque)"/))
    player = player.replace(/\/><\/object>/, 'wmode="opaque" /></object>');

player = player.replace('wmode="transparent"', 'wmode="opaque"');
player = player.replace('name="wmode" value="transparent"', 'name="wmode" value="opaque"');

これで、JavaScriptが有効になっている限り、Windowsのフラッシュビデオは目的のdivの背後にうまく配置されます。

答えてくれてありがとう。

于 2010-03-15T19:40:19.467 に答える