unDonutでなんたらモンキーもどき
IE6
undonut+mod.1.34 マルチバイト版
windows98
の環境だと、なんたらモンキーのようなUserScriptが使えないので、unDonutのJScriptでそれっぽいのを書いてみたが、少々不安定。
スクリプトが処理をしている最中にタブを閉じたりするとエラーになる。
使い方は、下記のJScriptを適当な名前.jsで適当な場所に置く。
同じディレクトリに1行目にあるフォルダネーム(この場合userscript)を作成して、そこにURLによって実行するスクリプトファイルを置く(拡張子はjs、vbsなど。関連付けしてあればuwsもOK?)。
で、下記のスクリプトを起動。
終了させるには、unDonutを終了させるか、2行目にある文字(この場合quit:)をアドレスバーに記入すれば終了。
userscriptの中のファイルを登録し直すのは↓を終了させて再実行。
unDonutのCOMとやらをONにしないと動作しません。
※追記 実行するスクリプトにタブの位置(左から0.1.2....)を引数として渡してます。
unDonutと同時起動させるには、unDonut.iniに
[Event] StartProcess=上記のスクリプトのパス
を書き加えればOK。
UserScriptフォルダに入れるスクリプトの1行目、2行目に
//@include http://www.aaa/* http://www.bbb/* 実行するURLをスペース区切りで //@exclude http://www.aaa/ccc/* 除外するURLをスペース区切りで VBScriptの場合は、最初の//の代わりに'を。
のように1行目に必ず実行するURLを記入。除外するURLは省略してもOK。
なんたらモンキーを丸パクり参考にしました。
下記の二つ↓は前に書いたAutoなんたらとコンテンツブロックもどきを↑のスクリプト用に書き換えたもの。
それぞれjsファイルでuserscriptフォルダに。
これはAutoなんたら、ページが下に足されていくやつ。
対応はGoogleのWeb、イメージ、マップ、ニュースだけ(よくわからんので間違っているかもしれん)
これはそのままuserscriptフォルダに。
8月16日 22:00 修正
- 除外するURL間違えたーーーーっ!
8月19日 12:00 修正
- 正規表現部分をちと修正。
8月21日 修正
- 冒頭のtextareaのタグ削除。前の修正の際、2重に書いてしまったみたい。
8月22日 更新
- 細部までカバーしきれてないかもしれんけど楽天の商品検索を追加。。
9月5日 更新
- unDonutのアドレスバーに単語+スペースでLiveSearchで検索できるみたいなので、無理矢理LiveSearchを追加してみた。アドレスにある'From='なんたらの部分はそのままでも表示されているようだけど、それでいいのかは不明だしデフォルトでの10件表示だけだと思われる。
9月6日 修正
- 監視するURLの*search.msn.com/results.aspx?*を*search.msn.com/*results.aspx?*に。これでLiveSearchでweb検索以外にも対応したが、エラーになる場合もあるかも。
こっちはコンテンツブロックもどき。
実行するURLと除外するURLの書き方は上と一緒。
で、これで削除する画像などのURLは
var durl =
の間に配列として記述。
;
urep(durl, rurl);
var api = WSH.createobject('donutp.api');
var reg = new RegExp();
try {
var doc = api.getdocumentobject(WSH.arguments.item(0));
if (!doc.getElementById('uzaiuzai')) {
var fs = doc.getElementsByTagName('frameset');
if (fs.length == 0) {
chk(doc);
} else {
var f = doc.frames;
if (f.length > 0) {
for (var fc = 0; fc < f.length; fc ++) {
try {chk(f(fc).document)} catch(e) {}
}
}
}
var el = doc.createElement('div');
el.id = 'uzaiuzai';
doc.body.appendChild(el);
doc.title = String.fromCharCode(9733) + doc.title;
}
} catch(e) {};
doc = null;
api = null;
function chk(obj) {
try {
var src = obj.body.innerHTML.replace(/</g, '\n<');
for (var u in rurl) {
reg.compile('<[^>]*?=("|\')' + rurl[u] + '("|\')[^<]*>([^>]*<\/a>)*', 'ig');
src = src.replace(reg, '');
}
obj.body.innerHTML = src;
} catch(e) {}
}
function urep(arr1, arr2) {
for (var i in arr1) {arr2.push(arr1[i].replace(/(\.|\?|\/)/g, '\\$1').replace(/\*/g, '.*?'))}
}
ページによってはレイアウトが大きく崩れます。
8月19日 14:00 修正
- 最後の行の.*を.*?に。
8月21日 10:00 修正
- エラー処理修正。