web-dev-qa-db-ja.com

Greasemonkeyスクリプトが更新されないのはなぜですか?

Firefox用のGreasemonkeyスクリプトがあります。スクリプトには、このメタブロックと数行のコードが含まれています。

サーバー上のスクリプトを更新してから、ブラウザーのスクリプトを自動的に更新したいと思います。 requireSecureUpdatesオプションはオフです。
何が間違っているのですか?

私の1.meta.js

// ==UserScript== 
// @name     Ibood autosubmit 
// @include  https://*.ibood.com/* 
// @include  http://*.ibood.com/* 
// @include  * 
// @version  1.1 
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js 
// @grant    GM_addStyle 
// @downloadURL http://www.tipsvoorbesparen.nl/1.user.js
// @updateURL http://www.tipsvoorbesparen.nl/1.meta.js
// ==/UserScript== 
19
Scripter

2つの問題:

  1. 現在、1.meta.jsは次のとおりです。

        // ==UserScript== 
        // @name     Ibood autosubmit 
        // @include  https://*.ibood.com/* 
        // @include  http://*.ibood.com/* 
        // @include  * 
        // @version  1.7
        // @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js 
        // @grant    GM_addStyle 
        // @downloadURL http://www.tipsvoorbesparen.nl/1.user.js
        // @updateURL http://www.tipsvoorbesparen.nl/1.meta.js
        // ==/UserScript== 
    

    先頭のスペースに注意してください。

    設計上の制限により、Greasemonkeyはその メタデータブロック の先頭のスペースを処理できません1

  2. 現在のスクリプトバージョンは1.8のようですが、メタファイルのバージョンは1.7です。

~~~~~
自分のWebサイトでホストする小さなスクリプトの場合は、@updateURL設定を気にしないでください。これは主に帯域幅を節約するためにあり、特に serscripts.org のようなサイトではそうです。

@updateURLの設定がない場合、Greasemonkeyは@downloadURLで設定されたものを使用/チェックするだけです。これにより、余分なメンテナンス作業(およびこのようなSNAFUの可能性)を節約できます。

最後に、関係のないメモでは、@include *を使用しないでください。
@include *の使用:

  1. ブラウザの速度が低下します
  2. 望ましくない副作用を引き起こす可能性があります
  3. 良心的なユーザーがスクリプトのインストールを拒否する原因になります。





1。具体的には、GMソースファイル、parseScript.js

var gAllMetaRegexp = new RegExp(
    '^// ==UserScript==([\\s\\S]*?)^// ==/UserScript==', 'm');
22
Brock Adams

スクリプトが機能している場合は、メタブロックに問題はない可能性があります。ただし、有効な[〜#〜] https [〜#〜]ソースを使用する必要があります。更新を有効にします。

参照 http://wiki.greasespot.net/Metadata_Block#.40downloadURL

1
user1781495