1

Chrome拡張機能を構築していますが、CSSで失敗するChromeのバグが原因で問題が発生しています。プログラマティックインジェクションを使用してバイパスする方法があることは知っていますが、これはパフォーマンスに問題を引き起こしているので、除外したいものが含まれないような方法でexclude_matches自分を書き直す方法を誰かが考えられるかどうか疑問に思います。include_matches(一致しないものは自動的に除外されるため)。ロングショットですが、誰かがそれを行うことができれば、彼らはここにいるだろうと私は考えました!作業の例は次のコードです。

{
....
  "content_scripts": [{
        "matches": [ "http://example.com/*" , "http://*.example.com/*" ]
  }]
....
} 

明らかに上記は上のリンクをカバーしていますが、URLがルールに適合しないようexample.comに書き直す方法があるかどうか知りたいのですが、のようなURLはまだ機能します。example.com/z/example.com/z/s/

基本的に許可されないURLは上記の形式( " /z/")のURLだけなので、その位置にスラッシュが付いたURLを許可しないように指定する方法があるのではないかと思いました。当たり前のように、正規表現を考えすぎたと思いますので、よろしくお願いします!

これを入力しても、PIで立ち往生する可能性があると感じますが、試してみる価値はあります。

4

1 に答える 1

1

残念ながら、Googleの「一致パターンとグロブ」は必ずしも期待どおりに機能するとは限りません。特に、?ワ​​イルドカードを使用します。「任意の1文字」(空の文字列ではない)に一致するはずなので、http://example.com/?*使用できると思います。

とにかく、それは少しハックですが、次のように少なくとも26include_globsのルールを使用できます。

{
    ....
    "content_scripts":  [ {
        "matches":      [   "http://example.com/*",
                            "http://*.example.com/*"
        ],
        "include_globs":[   "*example.com/z/a*",
                            "*example.com/z/b*",
                            "*example.com/z/c*",
                            "*example.com/z/d*",
        // Etc., etc.
                            "*example.com/z/x*",
                            "*example.com/z/y*",
                            "*example.com/z/z*"
        ]
    } ]
    ....
}

残念ながら、ルールでは大文字と小文字が区別されるため、サイト/サーバーによっては、大文字と国際文字のルールを複製する必要がある場合があります。

于 2013-01-01T07:15:05.847 に答える