4

ノード WebkitフレームレスアプリにYouTube ビデオを埋め込んでいます。ビデオ内の YouTube リンクがクリックされるたびに、デフォルトのブラウザで URL を開くことが期待される動作ですが、新しいノード Webkitフレームレスを作成することです。私のアプリの上にあるウィンドウ。iv'eはwindow.openをオーバーライドしようとしましたが、フラッシュはおそらく他のAPIを使用して新しいウィンドウを起動するため、これは役に立ちません。私が探しているのは、新しいウィンドウを完全に無効にするか、いつでも傍受できるようにする方法です新しいウィンドウが開き、URL をデフォルトのブラウザーにリダイレクトします。API を調べたところ、すべてのウィンドウ インスタンスを持つブラウザ プロセスに JavaScript が公開されていないようです。

この問題を解決する方法についてのアイデアはありますか?

編集:わかりましたので、フラッシュ呼び出しを無効にする方法があります。これnavigateToURLは、に追加するパラメーターです:<param name="allowNetworking" value="internal"/>理想的ではありませんが、これはUXに役立ちます。ソース: http://livedocs.adobe.com/flex/3/html/help.html?content=wrapper_13.html

2 番目の編集: 私が発見したもう 1 つのバグは、2 番目のポップアップが node-webkit を完全にクラッシュさせることです。

2013-11-07 22:42:52.435 node-webkit[78145:507] Internals of CFAllocator not known; out-of-memory failures via CFAllocator will not result in termination. http://crbug.com/45650
2013-11-07 22:42:52.609 node-webkit Helper[78146:507] Internals of CFAllocator not known; out-of-memory failures via CFAllocator will not result in termination. http://crbug.com/45650
2013-11-07 22:42:52.803 node-webkit Helper EH[78147:507] Internals of CFAllocator not known; out-of-memory failures via CFAllocator will not result in termination. http://crbug.com/45650
2013-11-07 22:42:52.932 node-webkit Helper EH[78148:507] Internals of CFAllocator not known; out-of-memory failures via CFAllocator will not result in termination. http://crbug.com/45650
[78148:1107/224252:INFO:plugin_main_mac.mm(22)] No Carbon Interpose library found.
2013-11-07 22:42:53.103 node-webkit Helper[78149:507] Internals of CFAllocator not known; out-of-memory failures via CFAllocator will not result in termination. http://crbug.com/45650
[78145:1107/224253:INFO:simple_index_file.cc(397)] Simple Cache Index is being restored from disk.
2013-11-07 22:42:53.653 node-webkit Helper[78151:507] Internals of CFAllocator not known; out-of-memory failures via CFAllocator will not result in termination. http://crbug.com/45650
2013-11-07 22:42:54.036 node-webkit Helper EH[78148:507] CoreText performance note: Client called CTFontCreateWithName() using name "Arial Unicode MS" and got font with PostScript name "ArialUnicodeMS". For best performance, only use PostScript names when calling this API.
2013-11-07 22:42:54.036 node-webkit Helper EH[78148:507] CoreText performance note: Set a breakpoint on CTFontLogSuboptimalRequest to debug.
2013-11-07 22:42:54.519 node-webkit Helper EH[78148:507] CoreText performance note: Client called CTFontCreateWithName() using name "Times Roman" and got font with PostScript name "Times-Roman". For best performance, only use PostScript names when calling this API.
[78145:1107/224258:INFO:CONSOLE(0)] "'KeyboardEvent.keyLocation'' is deprecated. Please use 'KeyboardEvent.location' instead.", source:  (0)
4

2 に答える 2

1

node-webkit アプリでWebChimeraを使用している場合は、YouTube リンクを再生し、必要なボタンをツールバーに追加し (プログラミングはほとんど必要ありません)、ボタン クリック イベントを JS に送信して何をすべきかを伝えることができます。(あなたの場合、デフォルトのブラウザでYouTubeリンクを開きます)

Node-Webkit に移植された WebChimera Player (WebChimera Plugin がアプリに組み込まれています): https://github.com/jaruba/WebChimeraPlayerNW

Windows用のダウンロードリンク

Mac の場合は、Readme.md に段階的な手順が記載されています。

于 2015-04-03T20:11:22.210 に答える
1

YouTube の推奨 iFrame 埋め込み方法など、さまざまなバリエーションを試しましたが、https://developers.google.com/youtube/player_parametersのドキュメントによると、YouTube リンクを完全に取り除くことはできません。

コントロールなどのほとんどを非表示にするのが最善の方法ですが、再生中にユーザーが YouTube ロゴをクリックしてサイトから移動するオプションがまだ残っています。

于 2013-11-08T13:00:34.143 に答える