IIは、jesus2099 / konami-command#372で、Firefox v57 + Greasemonkeyv4が完全なURL https?://host.tld/pathname
でのみ機能し、 /pathname
だけで
Firefox v57 +別のGMエンジンはこのリグレッションの影響を受けません。これが、ここでチケットを開く理由です。
回避策では、URLの前にself.location.protocol + "//" + self.location.host +
を追加する必要がありました。
コンテンツスクリプトコンテキスト(ユーザースクリプトが実行される)からリクエストを実行するには、完全なURLを使用する必要があります。
完全なURLを使用したくない場合は、 window.wrappedJSObject
のメソッドを使用し、 exportFunction()
を使用して実行に必要な関数(onreadystatechangeなど)をエクスポートできます。 私の提案は、完全なURLを使用することです。
ご協力ありがとうございます。
わかりました。つまり、WebExtensionsシステムの仕様に準拠しているということですよね。
私はこのWebExtensionsのものを知りませんが、それは標準のようです…?
著者のブログ投稿の
この回帰は永続的であると確信していますか?
この回帰は永続的であると確信していますか?
多分。 よくわかりません。 適切なサンドボックスを作成できれば、おそらく<strong i="7">@grant</strong> none
ではこれらの問題は発生しません。 ただし、いくつかの特権APIが必要な場合は、これらの手順が必要になる場合があります。 ボールは本当にMozillaの法廷にあります。
FTR私のスクリプトは<strong i="5">@grant</strong> none
スクリプトです。
プロジェクトリーダーにこのチケットを閉じるか閉じさせます。
適応します。
これは意図されたものではないので、永続的であると期待されるべきではありません。 ルートとしてのドキュメントに基づいて、非絶対パスを完全に解決できます。
正しいベースURLは次のとおりであることに注意してください: document.baseURI
( <base href="...">
)
確認できますが、jQueryAJAXはパスURLのみでは機能しません。
Firefox 57、最新のGreasemonkey。
$.ajax({
url: '/some/path',
success: () => {}
});
私のAJAXは古いFirefox(WebExtensions以前)で動作します
上記の修正は、新しいベータバージョンにパッケージ化されています。
https://addons.mozilla.org/firefox/downloads/file/830369/greasemonkey-4.2beta1-an+fx.xpi?src=devhub
テストと確認をいただければ幸いです。