2009-02-26 31 views
7

フラッシュがキーボードフォーカスを持っている、CTRL +T(新しいタブ)とCTRL +N(新しいウィンドウ)はフラッシュによってインターセプトされています。新しいタブ用のJavaScript(CTRL + T)、新しいウィンドウ(CTRL + N)?

これらのイベントをブラウザに渡して機能させる方法はありますか(新しいタブを開く、新しいブラウザを開く)、またはこれらのアクションのjavascriptコマンドがありますか?最寄の

+0

私はいつもこの質問をしたかったので、あなたは私のためにそれをしました。ありがとうございました – Matias

答えて

2

これは、Flashとブラウザで長続きしていない問題です。 (そして、が長くであることを意味します - Mozillaブラウザではeight-year-old bugをチェックしてください)問題は、Flashがブラウザではなくすべての入力イベントをインターセプトすることです。独自の環境でサンドボックス化されており、イベントをブラウザに返すことはありません。

概念的には、これは必ずしも悪いことではありません。 Flashが「ctrl + n」イベントを聞きたい場合はどうなりますか?ブラウザがすでにそのホットキーを使用しているため、Flashからフォーカスを外す必要がありますか? Flashデベロッパーにとっては本当に苦しいことでしょう、それは確かです。

特定のブラウザで見られたこの問題を解決する方法が提案されていますが、キャッチオールソリューションはありません。たとえば、this solutionはこのバグで参照されていますが、明らかに(ユーザーが機能するにはかなりの数のジャンプが必要となりますので)あなたの望むように動作しません。

そう...いいえ、今のところは。この問題が修正できれば、本当にきれいでしょう。

+1

"ブラウザはすでにそのホットキーを使用しているため、Flashから離れてフォーカスする必要がありますか?" - はい! Flashは、ブラウザの「家」内の「ゲスト」です。そして、特に行動が悪い人もいます。 :-) –

+0

ハハハ、私はプラグインのためのゲストの類推を聞いたことはない、それはかなり素晴らしいです。 –

1

あなたが得ることができるが、ほとんどの人にとって、これは新しいウィンドウまたは新しいタブを起動します(自分のブラウザの設定によっては、ブランクURL

// We abstract it in a function here in case we want to 
// change it later 
function openBlankWindow() 
{ 
    window.open(''); 
} 

に空白のウィンドウを開くには、ActionScriptのトリガーJavascriptを持つことです)、ウェブページによって開始されているため、ポップアップブロッカーの対象となる可能性があります。

実際にブラウザに質問している2つのタスクのうちの1つを具体的に実行するように求める方法はありません。 Webページに権限/権限があれば、セキュリティ/煩わしさの悪夢になります。

+0

私は彼がフラッシュの中でさえも正常なブラウザー機能を動作させたいと思っているので、彼がブラウザーにフラッシュアクセスを与えたいとは思っていません。 –

+0

私はこれを知っています。それが、私が言った最初のことが「あなたが得ることができる」ということでした。 Flashムービーからキーコマンドをブラウザにバブルアップさせることは、アドビだけが解決できるものです。 –

+0

私はあなたの最後の段落に反応していました。残りの部分は意味がありません。 –

関連する問題