2012-02-29 10 views
1

フラッシュ埋め込みのデフォルトの右クリックメニューを抑制する必要があります。フラッシュ埋め込みを右クリックできないようにする方法

メニューをfalseに設定し、右クリックイベントでstop default関数を使用しましたが、メニューは表示されます。

また、フラッシュオブジェクトが私によって作成されていないため、.flaにアクセスできません。

ありがとうございます! Flash Builderで

+0

現在リリース候補の状態にある次のバージョンのFlash Player 11.2では、右クリックメニューを非表示にできますが、古いバージョンでは不可能です。 –

+0

なぜですか?@ The Kanedaの答えがあなたにとってうまくいかない場合、彼らはもっと多くの提案を提供するかもしれません。 – nycynik

答えて

0

var myContextMenu:ContextMenu = new ContextMenu(); 
myContextMenu.hideBuiltInItems(); 
+0

彼は.flaにアクセスできないと彼は言った。あなたはYouTubeのビデオや何かを埋め込もうとしていますか?詳細は素晴らしいでしょう。 –

+1

こんにちは私はyoutubeビデオを使用しています.. – jpecht

+0

@タイラー:うん、私は私の答えを入力している間にOPは質問を編集したと思います。あるいは、私はその部分を逃したかもしれない。 – Travesty3

1

FLAの(とものも、あなたはとにかく何をしたいあなたを与えないだろう変更すること)がなければ、あなたは、HTML内のSWFファイルをカバーするために何かをする必要があると思います例えば、<div>

これは、左クリックもブロックすることになります。私が知っている唯一の方法です(は唯一の方法ですが、安全なバリエーションはです)。左クリックを得るためにコードを追加する。とにかくそれはハックです - swf-coveringよりもさらに最初に<div>があります。

swfをカバーするには、ウィンドウモード(wmode param)を "不透明"(swf内の領域を透明にする必要がある場合は "透明")に設定する必要があります。両方ともFlashPlayerのレンダリングモードを変更して、HTMLをその上に表示できるようにします(デフォルトのwmode="window"は、他のものの上にレンダリングさせます)。両方の代替案wmodeは、FlashPlayerの予期しない、一見無関係のバグ(「透明」は「不透明」よりも多い)をいくらか導入します(「透明」は「不透明」よりも「透明」です)。例えば。 YouTubeはwmodeパラメータの変更をサポートしていますので、その場合はバグがなくてはなりませんが、他の人はうまく動作するのに困っています。例えば、 How to make videos on Youtube not cover a lightbox?

wmodeを「透過」に設定した後は、<div>をswfに完全に含めることができます。つまり、左クリックがSWFに到達する前にキャプチャされます。 IE6-8では透明な要素のクリックはキャプチャされませんので、要素の背景には色+アルファ= 0または透明なpng/gifが必要です。

左のクリックをswf(ソースコード/ flaに追加が必要)に通すという概念をカバーするには、基本的に<div>にmousedownイベントをキャプチャさせ、 ExternalInterface経由でFlashに座標を設定します。右クリックでも同じことができました。これは、たとえそれが非常に、非常にハッキリであっても、唯一の方法です。コンテキストメニューを表示するのではなく、Flash用の特別な右クリック機能。

FlashPlayer 11.2までです。右クリック/中クリックのサポートや、マウスのロックなども追加されています(ただし、ソースにアクセスすることはできません)。いずれにしても

、あなた本当にがこれを必要とする(とような場合がある)場合を除き、それは選択肢を見つけるための良いアイデアだ - 上の右クリックメニューを無効にするほど悪い考えた場合でもないかなり一般的なウェブページ

関連する問題