0

Chrome がユーザー スクリプトのメタデータを使い果たしているようです。

 // ==ユーザースクリプト==
 // @name フラグ オフトピック ボタン
 // @バージョン 1.0
 // @description トピック外投票ボタン
 // @author マニッシュ・ゴレガオカール (http://stackapps.com/users/10098/manishearth)
 // @license GNU GPL v3 (http://gnu.org/copyleft/gpl.html)
 // @include http://meta.stackexchange.com/questions/*
 // ==/ユーザースクリプト==

関数 with_jquery(f) {
     var script = document.createElement("スクリプト");
     script.type = "text/javascript";
     script.textContent = "(" + f.toString() + ")(jQuery)";
     document.body.appendChild(スクリプト);
};

//(残りのスクリプトはリクエストに応じて入手可能)

スクリプトは機能しますが、メタデータは機能しません (すべてのサイトで実行しようとする、「Flag Offtopic ボタン」の代わりにファイル名が表示されるなど)。

私はユーザースクリプトが初めてなので、何が間違っているのかわかりません。愚かなこと、間違いありません。

追加情報: 最初は、スクリプトに互換性のない文字セットがありました (理由はわかりません)。Dreamweaver の Modify>Page properties を使用して UTF-8 に変更したところ、スクリプトが機能しました (メタデータを使用)。後でメタデータが壊れました(いつだったか思い出せません)が、何か間違ったスペースだと思いました。今、私は何が悪いのかを見つけることができません。上記のコード自体 (コピーしてメモ帳に貼り付け、名前を付けて保存しabc.user.js、Chrome にドラッグ アンド ドロップすると) のメタデータが失われます。

4

3 に答える 3

2

ドキュメントの先頭に UTF-8 BOM が隠れていることは間違いありません。その問題は先日私を悩ませました。

(なぜ UTF-8 BOM が存在するのかということは確かに良い質問ですが、なぜ編集者がそれらを使用するのかということは本当に混乱を招きます。)

于 2013-01-18T17:50:14.927 に答える
1

エンコーディングを「Unicode (UTF-8)」に設定してスクリプトを保存すると (少なくとも BBEdit を使用する Mac では)、OP の問題が発生します。

スクリプトを「Western (ISO Latin 1)」として保存すると修正されます。

(完全を期すために: Google Chrome 19.0.1084.56 ですが、関連性はないと思います。)

于 2012-06-20T18:02:18.950 に答える
0

修正しました。おそらく、エンコーディングの変更によるアーティファクト (隠し文字) でした。

コードだけを新しいファイルにコピーし (以前はシバン全体をコピーしていました)、作業中のスクリプトからヘッダーをコピーして、それらを変更しました。できます。

更新: 少し調査したところ、エンコーディングの変更により、最初の文字が混乱していました。JS によって解析されなかったため、スクリプトは引き続き機能しましたが、Chrome/GM はそれを気に入りませんでした。

FWIW:

// ==ユーザースクリプト==
 // @name フラグ オフトピック ボタン
 // @バージョン 1.0
 // @author マニッシュ・ゴレガオカール (http://stackapps.com/users/10098/manishearth)
 // @description セルフナビゲートの「Flag-offtopic」ボタンを MSO に追加します
 // @license GNU GPL v3 (http://www.gnu.org/copyleft/gpl.html)
 // @include http://meta.stackexchange.com/questions/*

 // ==/ユーザースクリプト==

于 2012-04-07T15:15:14.177 に答える