ブラウザ環境を見直している最中です。
プロファイルを新規に作り直して拡張を入れ直し、設定引継ぎをしていますと、その最中に困ったことが。
Chrome系ブラウザでGreasemonkeyスクリプトを動かすために
Tampermonkeyを使っているのですが、その中で1つ
WebAbornだけどうしても動かないのでして。
拡張画面にスクリプトをドロップするだけでインストールできていた頃から使っているプロファイルでは、ドロップでインストールできなくなって以降も、プロファイルフォルダの中のスクリプトを直接編集して最新版にしてありまして、そちらでは
WebAbornは何事もなく動いています。
Firefox +
Scriptishでも動いているので、恐らく
Tampermonkey側の問題なのではないかなあと。
もしかしたら
X-Chromium 39.0.2130.0 [rev14] Portableと
Tampermonkeyの相性の可能性もあるのかもしれませんが。
Tampermonkeyダッシュボードの新規作成画面にドロップして、「// ==UserScript==」の中を修正して保存しようとするとエラーが出る。
よくよく見ると、終わり部分の「// ==/UserScript」が「// ==/UserScript==」になっていなかっただけで、何故そんなどうでも良い所のチェックが厳密なの…。
そこだけ直せばスクリプトのインストールはできました。
…が、どうも動いてないらしい。あぼ~んされずにNGワードが表示されてしまいました。
代替の拡張はないかと探してみました。
Word Filter
Web Cleaner
CustomBlocker
どれも少し違う感じです。
いつまでもプロファイルの継ぎ足しで使っていると重くなるようですし、万が一プロファイルが壊れた時に新規インストールができないと更に困ります。
今まで動いていたのだから何か方法があるはず。
どうすれば動かせるかと色々思案して、t.co-bypassという拡張はGreasemonkey版もあるのを思い出しました。
Twitter公式の強制短縮URL「t.co」を踏まずに本当のリンク先を直接クリックできる「t.coバイパス」をChrome・Firefoxに設定する方法 - GIGAZINE
拡張版のt.co-bypassも本体はGreasemonkeyスクリプトなんですね。ということは同じやり方が可能かも。
しかし、拡張版t.co-bypassにならい、古い方のプロファイル内の
WebAbornの入っているフォルダを「パッケージ化されていない拡張機能を読み込む」で読み込もうとしても、エラーが出てインストールできません。
一体何が違うのか中身を比べると、拡張版t.co-bypassフォルダも、古い方のプロファイル内にある
WebAbornの入っているフォルダも、どちらも「manifest.json」が一緒に入っていました。
WebAbornのmanifest.jsonは昔インストールした時に自動で作成された物です。
このmanifest.jsonが今のバージョンに合わないのでインストールできなかったりして…?
ググったら中身はテキストのようなので、エディタで書き換えれば何とかできないか。
両方のmanifest.jsonを見比べつつ、以下のサイトで勉強してみることに。
Chrome 拡張機能のマニフェストファイルの書き方 - Qiita
Manifest File Format - Google Chrome
だからスクリプトは全く解らんと。
で、結果からいうと、
WebAbornと以下のmanifest.jsonを一緒のフォルダに置くと動かせました。
{
"manifest_version": 2,
"name": "WebAborn",
"version": "19",
"description": "Reduce the situation you see disagreeable texts in the way replacing to some word. ('aborn' means 'purge and unable to read'.)",
"converted_from_user_script": true,
"content_scripts": [
{
"js": [ "WebAborn.user.js" ],
"matches": [ "http://*/*", "https://*/*" ],
"run_at": "document_idle"
}
]
}
「"version"」は適宜書き換え。
「"run_at": "document_idle"」は古いmanifest.jsonにあったのでそのままです。
説明読んでもさっぱりです。
多分これ「"name": "WebAborn"」「"js": [ "WebAborn.user.js" ]」をそれぞれスクリプト名に合わせれば、他のGreasemonkeyスクリプトの拡張インストールにも応用できるのではないかと思われます。
スクリプトの場所が動かせないのが難点ですけれども。相対パスできないのかな。
Tampermonkeyで使えなくて困っているスクリプトがあるが、スクリプトそのものを修正するスキルはない自分みたいな人向けの記事でした。