Greasemonkey: サーバーに(自動)更新されないスクリプトを配信させます

作成日 2018年02月08日  ·  18コメント  ·  ソース: greasemonkey/greasemonkey

(https://github.com/Tampermonkey/tampermonkey/issues/499にも投稿されています)

Greasy Forkのスクリプトには@updateURLまたは@downloadURLがないため、更新を確認するときは、元々インストールされていたURLが更新を確認するときに使用されます。 これはいい。

Greasy Forkを使用すると、ユーザーは以前のバージョンのスクリプトをインストールすることもできます。 インストールURLには、バージョンを示すパラメータが含まれています。 この場合、更新は引き続き「機能」しますが、変更はありません。 クライアント側とサーバー側のリソースを節約するために、Greasemonkeyに更新をチェックしないように指示したいと思います。 これを行うためにスクリプトに入れることができるものはありますか?

最も参考になるコメント

スクリプトに自動更新する頻度を指定させます。 私が活発な開発をしているときは、それを低く保つことができ、安定したときはそれを調整することができます(ただし、更新を再開する場合は元に戻します)。 また、スクリプトホストは(とにかくスクリプトを変更する場合)、適切と思われる値を上書きできます(インストールしたユーザーの数、サーバーリソースなどに基づいて)。

合理的に聞こえます。

もっとわかりやすい名前が欲しいのですが、具体的な候補者はまだいません。

多分@updateInterval

全てのコメント18件

<strong i="5">@updateURL</strong> about:blank + <strong i="7">@downloadURL</strong> about:blankで実行する必要があります(少なくとも、GM 3.xでこれを使用して自動更新を非アクティブ化することは可能でした)。

updateURLとdownloadURLは4.xではサポートされていません。

3.xでは、これに標準のAOMコントロールを使用しました。

4.xにはまだ自動更新がないため、追加したら、これを基本機能として含める必要があります。

<strong i="5">@downloadURL</strong> noneを置くことは、4.xで計画されているものと一致しますか?

ああ、スクリプトを配信するサーバーが、スクリプトを更新してはならないことをGMに通知する必要があると言っていることに気づきました。 (おっと、説明の最後まで到達しませんでした...)

GM 4で@...URLプロパティの値を読み取ったり使用したりする予定はありません。更新コードが最終的に書き込まれるまでは何も約束できませんが、ある種のHTTPヘッダーはソースを変更するよりも快適です。スクリプトの。

OTOH TMがnone値をサポートする場合、考慮すべき互換性が常にあります。

OPは言う:

インストールURLには、バージョンを示すパラメータが含まれています。

このことから、クエリパラメータは特定のユーザースクリプトへのパーマリンクであると思います。 また、自動更新/更新チェック機能は、内部的に保存されたdownloadUrl (初期インストールのURL)を使用する可能性があります。 最小限の変更で、ユーザースクリプトを検出するときにクエリパラメータの一致を追加することで、この形式の永続的なリンクをサポートできると思います。 user-script-detect.run.jsリスナーに*://*/*.user.js?*を追加することで達成されます。

ああ、スクリプトを配信するサーバーが、スクリプトを更新してはならないことをGMに通知する必要があると言っていることに気づきました。

はい、正確に。

ある種のHTTPヘッダーは、スクリプトのソースを変更しようとするよりも快適です。

Greasy ForkはスクリプトをDBに保存し、とにかくソースを書き換えます(たとえば、user.jsからmeta.jsを生成します)。 ソースを変更することは私にとって問題ではありません。 スクリプトがキャッシュソフトウェアを通過している可能性があるため、HTTPヘッダーが問題になる可能性があります。

このことから、クエリパラメータは特定のユーザースクリプトへのパーマリンクであると思います。

私の用語では、versionパラメーターは、特定のユーザースクリプトの特定のバージョンへのパーマリンクを提供します。

ユーザースクリプトを検出するときにクエリパラメータの一致を追加することで、この形式のパーマリンクをサポートできると思います。

Greasy Forkは、特定のバージョンへのリンク以外の目的でURLパラメーターを使用しませんが、将来的に使用されないこと、または他のサイトでも使用されないことを約束することはできません。

さらに考えてみると、クロスエンジンに準拠するにはもっと手間がかかります(@ derjanb 、@ gera2ld)が、ソース管理の更新チェックを行う場合は、新しいエントリに沿ってもっと考えています*そのような:

// <strong i="7">@updates</strong> never
// <strong i="8">@updates</strong> 24h
// <strong i="9">@updates</strong> 7d

スクリプトに自動更新する頻度を指定させます。 私が活発な開発をしているときは、それを低く保つことができ、安定したときはそれを調整することができます(ただし、更新を再開する場合は元に戻します)。 また、スクリプトホストは(とにかくスクリプトを変更する場合)、適切と思われる値を上書きできます(インストールしたユーザーの数、サーバーリソースなどに基づいて)。

もっとわかりやすい名前が欲しいのですが、具体的な候補者はまだいません。

* never valueの場合でも、 <strong i="14">@downloadURL</strong> noneサポートを追加することもできます。

技術的な観点から、それはsthでなければなりません。 @updatefrequency (長すぎますか?)や@updatecycle
そしてうまくいけば、すべてのスクリプトのチェックを手動で開始するトリガーがあります...

スクリプトに自動更新する頻度を指定させます。 私が活発な開発をしているときは、それを低く保つことができ、安定したときはそれを調整することができます(ただし、更新を再開する場合は元に戻します)。 また、スクリプトホストは(とにかくスクリプトを変更する場合)、適切と思われる値を上書きできます(インストールしたユーザーの数、サーバーリソースなどに基づいて)。

合理的に聞こえます。

もっとわかりやすい名前が欲しいのですが、具体的な候補者はまだいません。

多分@updateInterval

または単に@updatetime ...(あまり正確ではありませんが、キャッチーです)

@updatetimeは、頻度ではなく「午前8時」を考えさせます。

@Sxderpでは、 <strong i="6">@updatefreq</strong> 1dをサポートしますか?

私はネイティブスピーカーではありませんが、値(つまり、24時間)は実際には頻度ではありません。 インターバルかピリオドか? 🤓

<strong i="5">@updateinterval</strong> 1dayはいいですね。 「ピリオド」は一般的な英語では過負荷の意味を持っているので(正確な科学的意味はありますが)、私は「ピリオド」に反対することをお勧めします

@updateintervalとしてunpreciseようです@updatetime 。 間隔には関心がありませんが、更新間の(最大)期間に関心があります...

私は失効があまり好きではないので、次の提案は<strong i="5">@updatespan</strong> 1dます...

@arantius 、自動更新はいつスケジュールされますか? FF60で3.xに切り替えることができません。

このページは役に立ちましたか?
0 / 5 - 0 評価