5

次のマニフェストに従ってコンテンツ スクリプトをロードする Chrome 拡張機能を開発しています。

"content_scripts" : [
    {
      "matches" : [ "<all_urls>" ],
      "js" : [  "scripts/namespace/namespace.js",
                "scripts/log/Logger.js"]
       "run_at" : "document_start",
       "all_frames" : true
     }
]

HTML が次のようなモックアップ サイトがあります。

<html>
<head>
<script language=javascript>
    var test;

    function makewindow() {
        test=window.open('mywin');
        test.window.document.write("<html><body><A onclick=window.close(); href= > click Me to Close</A>");
        test.window.document.write(" ---- </body></html>");
    }
</script>

</head>
<body>
<a href="" onclick="makewindow();return false;" >Click me to launch the external Window</a>
</body>
</html>

A リンクをクリックすると、makewindow機能が実行され、新しいウィンドウがポップアップ表示されます。

新しいウィンドウの URL はabout:blankで、コンテンツ スクリプトはこの新しいウィンドウに読み込まれません。

この新しいウィンドウにコンテンツ スクリプトを読み込むには?

4

2 に答える 2

5

更新: Chrome 37 (2014 年 8 月 26 日) の時点でmatch_about_blankフラグDocをページtrueに対して発火するように設定できabout:blankます。

以下の alib_15 の回答を参照してください。



バージョン 37 より前の Chrome の場合:

ページに Chrome コンテンツ スクリプト (またはユーザー スクリプト) を読み込むことはできませんabout:blank

これはabout:、「許可されたスキーム」の 1 つではないためです。chrome 拡張機能からMatch Patterns :

一致パターンは、基本的に、許可されたスキーム( httphttpsfileftpまたは)で始まる URLchrome-extensionです...


この場合、ハイジャックしたほうがよいかもしれませんmakewindow()

于 2013-05-28T16:52:05.250 に答える