web-dev-qa-db-ja.com

ブラウザの外部でTampermonkeyスクリプトを編集する方法

ブラウザの外部でTampermonkeyスクリプトを編集するにはどうすればよいですか?ブラウザで編集を試みるのではなく、良いIDEになります。

FirefoxでGreasemonkeyスクリプトを開発したとき、これを行うことができましたが、Chromeで.user.jsファイルを見つけることができません。

22
eComEvo

Chrome拡張機能は実際には(以下の説明)ファイルシステムにアクセスできないため、Tampermonkeyはスクリプトを内部ストレージに保存します。

できることは Tampermonkeyがローカルファイルにアクセスできるようにする 、スクリプトのヘッダーをTampermonkeyにコピーし、さらに @ requireハードディスクのどこかにある完全なスクリプト

実際にはしない」は、LocalFileSystem APIがファイルアクセスを許可するが、名前とファイルが必ずしも実際のファイルシステムにマップされるとは限らないことを意味します。 さらにLocalFileSystemは現在非推奨になっているようです

23
derjanb

[拡張機能]> [Tampermonkey]> [ファイルURLへのアクセスを許可する]に移動します

次に、スクリプトを次のように設定します。

// ==UserScript==
// @name            Acecool - Video Site - Ultimate Video Site Management, Ad Removal, Redirection, Direct-Linking and more!
// @author          Acecool
// @namespace       Acecool
// @version         0.0.1
// @description     Replaces encoded-links with decoded direct-links on episode Finder sites.
// @description     Automatically click the "continue" button, and attempt to skip the countdown if any, on video watching sites.
// @description     Remove ad panels on video watching sites.
// @match           http://*/*
// @require         http://code.jquery.com/jquery-latest.js
// @require         file:///C:/AcecoolGit/acecooldev_userscripts/libraries/acecool_functions_lib.js
// @require         file:///C:/AcecoolGit/acecooldev_userscripts/video_sites/video_site_ultimate_tool.js
// @grant           GM_xmlhttpRequest
// ==/UserScript==

このスレッドの作者にとっては少し遅れていることは知っていますが、これが私が開発する方法です...

次に、スクリプトはそのように正確なヘッダーで設定されるので、私が含めるサンプルファイル:video_site_ultimate_tool.jsは

// ==UserScript==
// @name            Acecool - Video Site - Ultimate Video Site Management, Ad Removal, Redirection, Direct-Linking and more!
// @author          Acecool
// @namespace       Acecool
// @version         0.0.1
// @description     Replaces encoded-links with decoded direct-links on episode Finder sites.
// @description     Automatically click the "continue" button, and attempt to skip the countdown if any, on video watching sites.
// @description     Remove ad panels on video watching sites.
// @match           http://*/*
// @require         http://code.jquery.com/jquery-latest.js
// @require         file:///C:/AcecoolGit/acecooldev_userscripts/libraries/acecool_functions_lib.js
// @require         file:///C:/AcecoolGit/acecooldev_userscripts/video_sites/video_site_ultimate_tool.js
// @grant           GM_xmlhttpRequest
// ==/UserScript==
alert( 'test script is running from the file system instead of from TM...' );

それらを同じように設定しました(ファイルシステムスクリプトの@requiresをhttpバリアントに変更したので、functions_libはbitbucketに移動し、video_site_ultimate_toolは削除され、スクリプトはビットバケットリポジトリにコピーされたときに挿入されます...

外部エディタを使用して変更をすぐに表示できるようにすることで、開発が本当にスピードアップします...

うまくいけば、これは次の人を助けるでしょう。

23
Acecool