明確にするために:私は自動更新を行うつもりはありません。更新されたスクリプトがあることをユーザーに知らせ、最新バージョンを入手するためのリンクをユーザーに提供したいと思います。
Firefoxでこれを行う方法はいくつかありますが、それらはすべてChromeでサポートされていないGreasemonkey固有の機能を使用しているようです。
私は今日これを研究するのに良い4時間を費やしました、そして今私は助けを求めてSOコミュニティを見ています。
明確にするために:私は自動更新を行うつもりはありません。更新されたスクリプトがあることをユーザーに知らせ、最新バージョンを入手するためのリンクをユーザーに提供したいと思います。
Firefoxでこれを行う方法はいくつかありますが、それらはすべてChromeでサポートされていないGreasemonkey固有の機能を使用しているようです。
私は今日これを研究するのに良い4時間を費やしました、そして今私は助けを求めてSOコミュニティを見ています。
このリンクをコメントに投稿してくれた Yi Jiang に感謝します。そのスクリプトがなくなった場合に備えて、ここにコンテンツを投稿します。
// ==ユーザースクリプト==
// @name SelfUpdatingScript
// @バージョン 1.0.0
// @namespace Benjol (http://stackoverflow.com/users/11410/benjol)
// @description 自己更新スクリプトのテンプレート スクリプト
// @credits http://stackoverflow.com/users/115866/balpha への称賛
// @include https://gist.github.com/*
// ==/ユーザースクリプト==
関数 with_jquery(f) {
var script = document.createElement("スクリプト");
script.type = "text/javascript";
script.textContent = "(" + f.toString() + ")(jQuery)";
document.body.appendChild(スクリプト);
};
with_jquery(関数 ($) {
$(関数 () {
//これはどのように作動しますか?
// 1. インストールされたスクリプトが最初にロードされ、ローカルの VERSION 変数に現在インストールされているバージョン番号が設定されます
// 2. window["selfUpdaterCallback:" + URL] が定義されていないため、これはスキップされます
// 3. updateCheck() が呼び出されると、window["selfUpdaterCallback:" + URL] が定義され、VERSION にインストール済みのバージョン番号が保持されます (クロージャー)
// 4. updateCheck() は、スクリプトの外部バージョンをページ ヘッダーに読み込みます
// 5. スクリプトの外部バージョンがロードされると、外部 (潜在的に新しい) バージョン番号を使用して独自のローカル VERSION を定義します。
// 6. window["selfUpdaterCallback:" + URL] が定義されたので呼び出され、外部バージョン番号が渡されます
// 7. 外部バージョン番号 (ver) がインストール済みバージョン (VERSION) より大きい場合、通知が呼び出されます
var バージョン = 1.0; // 1.13 より; 1.02 の場合は、そう言ってください!)
var URL = "https://gist.github.com/raw/874058/selfupdatingscript.user.js"; // バージョン)
通知者(バージョン、バージョン、URL);
}
// それをスクリプトタグにします。SO では、前に大きなサインを表示することはできません。
/*$(' script />').attr("src", URL).appendTo("head");*/
}
// このコメントの後にカスタム スクリプトを挿入します
// このコードを次の方法でカスタマイズします
// - 独自のカスタム通知を表示するようにコールバックを変更します
// - ページの読み込みごとに更新を確認する頻度を下げることができます
updateCheck(関数 (新しいバージョン、古いバージョン、URL) {
alert("SelfUpdatingScript の新しいバージョン (" + newver + "、現在のバージョンは " + oldver + ") は、ここからダウンロードできます: " + url);
});
});
});
Chromeで実行されているグリースファイアのアップデータスクリプトを見つけました。それが役立つかどうかわからない。 http://code.google.com/p/greasefire/source/browse/chrome/updater.js?r=55