私のスクリプトには次のエントリがあります(これらはイントラネットアドレスでサニタイズされています)。
// <strong i="6">@match</strong> http://*.some-net.net/*
// <strong i="7">@match</strong> http://*.some-net.net/*
// <strong i="8">@match</strong> https://*.some-othernet.net/*
// <strong i="9">@match</strong> https://*.some-othernet.net/*
V3 / tampermonkeyでは、以下のすべてのアドレスの例(httpとhttpsの両方)で機能します。
[1] service.some-net.net
[2] service.some-othernet.net
[3] service.some-net。 ネット:1234
[4] service.some-othernet。 ネット:1234
[5] service.customer.some-net。 ネット:1234
[6] service.customer.location.some-net.net
V4 [3] [4]および[5]のHovewerは機能しません。 [3]の修正は、ポートに一致するようにそれらを追加することでした。
// <strong i="23">@match</strong> http://*.some-net.net:*/*
// <strong i="24">@match</strong> http://*.some-net.net:*/*
// <strong i="25">@match</strong> https://*.some-othernet.net:*/*
// <strong i="26">@match</strong> https://*.some-othernet.net:*/*
[5]はこれを試しましたが、それでも役に立たない
// <strong i="30">@match</strong> http://*.*.some-net.net:*/*
// <strong i="31">@match</strong> http://*.*.some-net.net:*/*
// <strong i="32">@match</strong> https://*.*.some-othernet.net:*/*
// <strong i="33">@match</strong> https://*.*.some-othernet.net:*/*
そして、これは私には意味がありません。[6]最初の(元の)ルールセットだけで作業するからです。
公式ドキュメントは簡潔で、ポートについてはまったく言及されていません。 リグレッションを防ぐために、修正時に必ずテストを含めます。
つまり、新旧のコードを比較すると、次のようになります。
これがどのように起こったのかはわかりませんが、変わりませんでした。
さて、現在のURLを取得するために使用されるメソッドで何かが変更された可能性があります。 新しいFirefoxを使用している人は誰でもこの問題を抱えていますが、古いFF / Chromeを使用している人はそれが機能しています。
残念ながら、XPIを変更していくつかのプリントを追加したいとき、署名する必要があることがわかりました。
一致とポートに関するBugzillaがあります。 解像度がわからない。 私がそれを見つけることができるかどうかを確認します。
マッチとポートのBuzilla。 ここに。
問題のある機能とは直接関係ありませんが、FF実装との互換性を保証します。 上記のAPIを実装する必要があります。
この修正は4.1beta6にあるはずです。 これをテストして確認していただければ幸いです。
https://addons.mozilla.org/firefox/downloads/file/800957/greasemonkey-4.1beta6-an+fx.xpi?src=devhub
今すぐ確認し、正常に動作しているようです。 ありがとう!