Proxomitron フィルタ ..
[2ch|▼Menu]
175:名無しさん@お腹いっぱい。
07/07/26 01:35:58 CI4yly2O0
>170
テストウィンドウのプロファイルボタンで調べたよ。

1. >168のサンプルページをバイパスで開く
2. ソースをテストウィンドウにまるごとコピペ
3. 何回かプロファイルボタンを押して平均時間がどれくらいか見る

NoHash ありだと 0.571000 ミリ秒から 0.581000 ミリ秒くらい。
なしでもほぼ同じになったけど、前回テストしたときはわずかにありの方が速かった。
でも、よく見るとうちの環境では30000バイトまでしかテストできなかった。
Proxomitron の仕様なのかな。


>172
>_hoge とか 存在しない名前を指定したら全部 _blank 扱いになる
それは違う。
_blank と同じ挙動になるのは、_hoge という名前のウィンドウがないときだけ。

176:名無しさん@お腹いっぱい。
07/07/26 02:41:51 u9NgXVhT0
ん?名前って言うのはウインドウの名前のことだから別に間違ってないよ

177:名無しさん@お腹いっぱい。
07/07/26 14:48:13 FsxnHQEA0
>>175
テストウインドウではURL欄は考慮されない(マッチングテストが行われない)から
ほぼ同じタイムになるのは当たり前。 同じものを比較してるからな。

NoHash ありなしの差を調べたいならこれに特化したフィルタを書かないと差は出ないよ。
逆に言えば1回のマッチングテストしかしない普通のフィルタとして使うなら限りなく同タイムってこと。

あと>>172は同じこと言ってると思われる。 JSで存在するか確認して とか書いてあるじゃん。

178:171
07/07/27 00:00:33 0eGOrdah0
173さん感謝です
サイトによりますが同じ窓で次々表示されます
もう一つ、今
[Patterns]
Name = "Kill <a> ad"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 256
Match = "$NEST(<a\s[^>]++href=$AV(URLリンク(www.amazon.co.jp)),</a>)"
を使ってるんですがtarget=_topやtarget=_blankがあると広告が残ります
こうゆうのは消せないでしょうか

179:名無しさん@お腹いっぱい。
07/07/27 00:11:05 jbeYUm/O0
Limit = 256

180:名無しさん@お腹いっぱい。
07/07/27 01:13:15 jE5dBQAF0
Multi = TRUE

181:名無しさん@お腹いっぱい。
07/07/27 03:30:58 iukQSTFM0
>177
ありがとん。
そういえば、テストウィンドウでは URL に関係なくマッチしてた。
気が向いたらテスト用のパターンを書いてやってみる。

182:名無しさん@お腹いっぱい。
07/07/27 09:57:51 2qYrqhT80
[Patterns]
Name = "Allow right mouse click 2 [2007/05/23] fixed"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 8
Match = "(^(^</html>))"
Replace = "<script> document.onmousedown=null; </script>\r\n"

このフィルタの誤爆を回避するため、Think氏のサイトを参考にして

Match = "(^(^</html>?))|(^(^</html>))$SET(0=<script> document.onmousedown=null; </script>\r\n)"
Replace = "$STOP()\0"

と書き換えて、テストも期待通りに動作し実際のサイトでも誤爆によって出てきた文字列も消えているのだが・・・
デバッグモードで見ると何故か誤爆箇所にマッチしたままなのは何故?
参考サイト URLリンク(www.flipflops.jp)

183:182
07/07/27 10:10:50 2qYrqhT80
ヤバイ、よく考えたらコレダメだ
書き直そう

184:名無しさん@お腹いっぱい。
07/07/27 10:16:37 2qYrqhT80
$STOP()がなければ無限マッチ、かといって</html>?があればその時点で処理を止めてしまう
なんという俺の馬鹿

185:名無しさん@お腹いっぱい。
07/07/27 12:35:32 N8L1gLXL0
すみません
特定の文字列使った文に対し
その文の行もしくは段落を削除フィルターとか無いでしょうか?

平たく言えばNGWORDによるあぼ〜ん機能なのですが
出来ればNGWORDはブロックリストで管理できれば有り難いです

186:名無しさん@お腹いっぱい。
07/07/27 13:45:33 Ux1iJRnI0
日本語対象で特定のサイト専用でない、汎用フィルタということになると
文字コードに合わせて複数のフィルタ&リストを使う必要がある。
それでもよければ
URLリンク(vird2002.s8.xrea.com)
に入ってるReplaceStr: BlockListを改造すべし。

187:名無しさん@お腹いっぱい。
07/07/27 21:33:12 SaRp4NWw0
XMLで書かれたページにNGワードを適応したいんだがやっぱ無理か。

188:名無しさん@お腹いっぱい。
07/07/27 23:45:59 LG1qkwxG0
>>187

189:名無しさん@お腹いっぱい。
07/07/28 04:45:40 aMwoLay40
出来ないの?

190:名無しさん@お腹いっぱい。
07/07/28 11:02:27 1LqUhj180
できるよ
もっとよく調べてね

191:think ◆MM0nnAOCiQ
07/07/28 13:31:27 yRNc7ktc0
>>185=>>187なんでしょうか?
基本的に、>186氏の指摘通りだと思いますが、一行単位or段落単位で消去するとなると、行/段落の定義をしっかり考えないと期待通りに動作しないと思います。

ReplaceStr は >*< の範囲にマッチさせることで、文章にマッチさせています。
タグのチェックを行っていないので、以下のHTMLソースで hogehoge を消去させると、こうなります。

<p>...<strong>hogehoge</strong><br />...</p>
 ↓
<p>...<strong></strong><br />...</p>

行を削除するためには「<p> 〜 <br />」にマッチさせる必要があります。

[Patterns]
Name = "Remove inline NGWord [2007/07/28] test1"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 512
Match = "<p>([^<]+)\#(<(^br />|/p)[^>]+>([^<]+)\#)+"
"(<br /+>|(^(^</p>)))"
"$SET(Temp=\@)$TST(Temp=*hogehoge*)"
Replace = "<p>"

# このフィルタは日本語を考慮していません。(RelaceStrを参考にしてください)
# <div>, <dd> などのブロックレベル要素による改行に対応していません。
#
# <p>...<strong>hogehoge</strong>...<br /> ...hogehoge...<br /></p>
#
# のような、hogehoge を2行連続で繰り返すテキストでは、2行目にマッチしません。(開始タグを見つけられないため)
# おそらく段落単位で消去する方が対応が楽だと思われますが、きちんとマークアップされていないサイトだと、余計なところまで消去してしまう可能性があります。# (p要素の内部に別のブロックレベル要素があると厄介です)

192:think ◆MM0nnAOCiQ
07/07/28 13:32:08 yRNc7ktc0
XMLからHTMLを生成するサイトなら、一定の法則があるはずなので、それを見極めれば、行削除は比較的簡単にできると思います。

あるいは、JavaScriptのDOMを使う方法もあります。
タグ付けが複雑なサイトなら、DOMの方がお勧めです。

193:名無しさん@お腹いっぱい。
07/07/29 00:55:40 Bk5wYsgE0
>>192
185を書き込んだものです187は私じゃありません
で185の件ですが186の方のお教えいただいたリンク先を参考にブロックリストに
NGWORD*半角スペースってな感じで書き込み、対応してます。
大抵のサイトは行の終わりに半角スペースが挿入されてますのでこれで一応の満足行く結果を得られました。
報告が遅れ変な誤解を招き申し訳ありませんでした

194:名無しさん@そうだ選挙に行こう
07/07/29 01:55:34 eGJobdMl0
Name = "Google image redirector [070728]"
Active = TRUE
URL = "images.google."
Limit = 1024
Match = "<script*>$SET(9=<script defer="defer" language="null">)"
"|"
"<noscript>|</noscript>"
"|"
"<a href=/imgres\?imgurl=\0\&imgrefurl=\1\&*>"
"$SET(9=<a href=$UESC(\1) target=_blank>Link</a><a href=$UESC(\0) target=_blank>)"
Replace = "\9"

195:182
07/07/29 03:25:29 iL9ma+Oz0
[Patterns]
Name = "Allow right mouse click 2 [2007/07/29] fixed"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 128
Match = "(</html>*</script>)\0|(^(^</html>))$SET(1=<script> document.onmousedown=null; </script>\r\n)$STOP()"
Replace = "\0\1"

とりあえずこれで参考サイトでは希望の動作をするようになったのですが、何かマズイ点があれば修正お願いします
Limitは前者の場合増えるかもしれないからもうちょっと増やした方がいいのかもしれませんが

196:名無しさん@そうだ選挙に行こう
07/07/29 12:30:22 Seoic5WU0
>>194
不具合直った
感謝感謝

197:名無しさん@そうだ選挙に行こう
07/07/29 13:58:24 +AjFXuSP0
google仕様かわった?
検索結果の広告カットをするフィルタ入れてるのに
うまく動作しない。

198:名無しさん@お腹いっぱい。
07/07/29 21:09:02 SiIa7nEK0
last.fm URLリンク(www.lastfm.jp) のレイアウトが
崩れてしまうんだけどバイパスしても駄目で
オミトロンOFFにするとOKなのって俺だけ?

199:名無しさん@お腹いっぱい。
07/07/29 21:13:52 PDDvEyon0
もちろんそうよ

200:名無しさん@お腹いっぱい。
07/07/29 21:14:00 cjDXOb330
Historyみて関係ありそうなのもバイパス

201:名無しさん@お腹いっぱい。
07/07/29 22:42:33 i+Nza7sW0
title.flv 版のyoutube downloaderの更新来ないのかな
ファイル名入れなくていいので便利なんだけどな

202:名無しさん@お腹いっぱい。
07/07/29 23:00:03 wXXoYR5/0
>>201
便利だよな、俺もお世話になってる。 今もちゃんと保存出来るから更新の必要性は感じないが。

203:名無しさん@お腹いっぱい。
07/07/30 09:00:50 emkHYrfZ0
>>197
フィルタ本体/具体的症状、もっと詳しく書いてくれんとわからんのう。
俺が自分で作ったヘボフィルタは普通に動いてるわ。

204:名無しさん@お腹いっぱい。
07/07/30 12:51:17 4hf4KQ2D0
ブラウザで文字サイズが変えられないサイトの
フォントサイズ指定を解除するとか、
文字サイズを変えられるようにするフィルターキボンヌ。

YouTubeとか、BLOGとか字が小さすぎて見にくい。
IEで、インターネットオプション → ユーザー補助
→ Webページで指定されたフォントサイズを使用しない
をいちいち弄るの面倒くさいし。

205:名無しさん@お腹いっぱい。
07/07/30 12:53:49 dAAtwzBL0
>>204
フィルターじゃないが、これいいよ。
URLリンク(crocro.com)

206:名無しさん@お腹いっぱい。
07/07/30 14:35:06 SOYyWSsb0
ユーザースタイルシートでいいんじゃ

207:名無しさん@お腹いっぱい。
07/07/30 17:43:18 BnBX9wKc0
IEを使用しない。これがベスト。
文字サイズ変更くらいだったらショートカットキー一発でできるし、
最小フォントサイズを設定できるものもある。

208:名無しさん@お腹いっぱい。
07/07/30 19:37:54 NjatwMxL0
文字サイズなんかIEでもCtrlとホイールか+-で変えられるだろ?

209:名無しさん@お腹いっぱい。
07/07/30 19:38:58 4gvb/ClZ0
>>208

210:名無しさん@お腹いっぱい。
07/07/30 23:40:51 f+VFvOIM0
言われた通りにオミトロンを導入しただけなんで何もわからないゆとりな漏れに
フィルタについて誰か教えてください・・

211:名無しさん@お腹いっぱい。
07/07/30 23:45:40 4qG4xGoK0
>>210
言われた人に教えてもらうのが一番いいと思う

212:名無しさん@お腹いっぱい。
07/07/30 23:47:58 f+VFvOIM0
>>211
それがURLリンク(shiroi.bake-neko.net)で導入させて頂いたので
なんもわからんとです・・

213:名無しさん@お腹いっぱい。
07/07/31 00:04:12 YF0tbWi+0
>>211
フィルターの何について分からないのか、分からないよ!
例えば、このフィルターはどのような動作をするのですか?とかさ、フィルターの作り方を教えてくださいとかさ、いろいろ質問の仕方があるじゃん。

とりあえずオミトロンのこと何もわからないなら
URLリンク(www.pluto.dti.ne.jp)
を一通り読んでみなよ。

214:名無しさん@お腹いっぱい。
07/07/31 02:05:30 LqLZuN1f0
>>213
はいすみません・・OTZ
URLリンク(abc.s65.xrea.com)
での通り作成したのですが
ID削除、動画DLリンク追加、ニワニュース失踪、便利ボタン、その他情報表示などの効果が表れないのです・・
4回ほど見直したのですがやはり合ってるようで、このように機能しないものなのでしょうか?


215:名無しさん@お腹いっぱい。
07/07/31 02:17:18 wU1r5MjS0
どんだけゆとり・・・。

216:名無しさん@お腹いっぱい。
07/07/31 02:25:23 p4A0MG7E0
>>214
とりあえずこの辺のスレに目を通してみれば色々分かるかも。
スレリンク(software板)
スレリンク(streaming板)

217:名無しさん@お腹いっぱい。
07/07/31 02:27:16 p4A0MG7E0
あ、上の間違い。こっち。
スレリンク(software板)

218:名無しさん@お腹いっぱい。
07/07/31 02:29:33 LqLZuN1f0
>>215
ほんとすみません・・
>>217
ありがとうございます。
何とか解決できました。

219:名無しさん@お腹いっぱい。
07/07/31 10:26:36 563mxkQY0
niconicoにログインしないでもflvをDLしたり出来るフィルタって無いのかな
仕様変更で殆ど使えなくなってるんだよな

220:名無しさん@お腹いっぱい。
07/07/31 14:56:49 vhqqeXTl0
ねえよ

221:名無しさん@お腹いっぱい。
07/07/31 16:13:00 vxYStN940
URLリンク(nicopon.jp)
こんなのがあるけど、利用したことないから詳しくは知らない。

222:名無しさん@お腹いっぱい。
07/07/31 23:07:29 riNOn0I80
>>204
前にここで教えを請いつつ書いたものです。
めちゃめちゃ不細工w

Name = "Not Micro Fonts (css) "
Active = TRUE
URL = "$TYPE(htm)|$TYPE(css)"
Limit = 64
Match = "(font-size[ ]+:[ ]+)\0((8$SET(\1=10)|9$SET(\1=11)|10$SET(\1=11))px|(7$SET(\1=10)|8$SET(\1=10)|9$SET(\1=11))pt)|"
"(font[ ]+:*)\0((8$SET(\1=10)|9$SET(\1=11)|10$SET(\1=11))px|(7$SET(\1=10)|8$SET(\1=10)|9$SET(\1=11))pt)"
Replace = "\0\1px"

223:名無しさん@お腹いっぱい。
07/08/03 17:31:44 WcZw4phA0
URLリンク(imepita.jp)
URLリンク(imepita.jp)

上記のリンクに連続アクセスできるフィルターお願いします

224:名無しさん@お腹いっぱい。
07/08/03 17:34:32 4GC8Gmb60
>>223
はぁ???

225:名無しさん@お腹いっぱい。
07/08/05 04:39:01 VD2BZa2B0
これを防ぐフィルタをお願いします。
ぼくはまちちゃん!(Hatena) - IEを華麗に撃墜する一行
URLリンク(d.hatena.ne.jp)

226:名無しさん@お腹いっぱい。
07/08/05 05:00:47 hs78OmuT0
>>225
[Patterns]
Name = "Bad Celecter Kill for IE6 (07-08-05)"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 256
Match = "\* { position : relative"
Replace = "badcelecterkilled {"

IE7では落ちない模様。 IE6では未確認。

227:think ◆MM0nnAOCiQ
07/08/05 05:28:13 YWPb0Ex20
>>225
思いっきり被っちゃいましたが、一応作ったので好きな方を使ってみてくださいな。

thinkのScrapBook: position:relative のブラクラに対抗するProxomitronフィルタ
URLリンク(thinkarc.blogspot.com)

228:226
07/08/05 05:56:03 hs78OmuT0
リンク先見てませんがたぶんthink氏のフィルタのほうが出来がいいと思うのでそちらを使ってください。
$TYPE(css) への対応忘れてるし。

229:名無しさん@お腹いっぱい。
07/08/05 12:49:18 +rbPpzfa0
IE5.5 で落ちた。以下、コピットのログ。

∇ エディットテキスト ∇
IEXPLORE のページ違反です。
モジュール : MSHTML.DLL、アドレス : 018f:7f39eac8
Registers:
EAX=00000000 CS=018f EIP=7f39eac8 EFLGS=00010293
EBX=00000000 SS=0197 ESP=0058c220 EBP=0058c2ec
ECX=00000000 DS=0197 ESI=0151bc10 FS=46c7
EDX=00000000 ES=0197 EDI=0058c4a8 GS=0000
Bytes at CS:EIP:
8b 41 04 85 05 88 d9 5d 7f 75 03 33 c0 c3 83 c1
Stack dump:
7f3cb13e 0058c640 0151bc10 0058c58c 00000000 00000000 00000000 00001cc2 0151f350 7f3bdc94 00000001 0151f350 0151f350 0151bc10 0058c2a4 7f3bdc0c

∇ スタティックテキスト ∇
Iexplore が原因で MSHTML.DLL にエラーが発生しました。Iexplore は終了します。

問題が解決しない場合は、コンピュータを再起動してください。

230:名無しさん@お腹いっぱい。
07/08/05 13:07:07 +rbPpzfa0
ユーザスタイルで解決したから、フィルタはいらないと思われる。
position: relative; を満足に使いこなしたいと思う人は
IE なんてとっくに投げ捨てているはずだから。
a:hover で位置をずらす程度のものはときどき見かけるが、
今回はそれに引っかからないので問題なし。

これだと落ちる。
table, thead, tbody, tfoot, tr, td, form, input { position: static !important; }

これだと落ちなくなる。
table * { position: static !important; }

table 直下の input というのを強引に解釈すると
<table><tbody><tr><td><input></td></tr></tbody></table>
ということになる。tbody は thead か tfoot に置換してもよい。
それでも全称セレクタでないとだめな理由がわからない。
ユーザスタイルで解決できるということは、
HTML 側でなく CSS の処理側にある問題だろう。

231:名無しさん@お腹いっぱい。
07/08/05 13:17:50 +rbPpzfa0
th 忘れてた。それでもやはり落ちる。
table, thead, tbody, tfoot, tr, th, td, form, input { position: static !important; }

232:225
07/08/05 15:11:52 VScGR7K/0
>>226-231
どうもありがとうございます。
>>115で既出ですが、position:relative;を使ったページをie6で表示すると、
スクロールが重くなる場合があるようです。

233:名無しさん@お腹いっぱい。
07/08/06 16:51:33 eF6VDaCG0
Googleで検索すると左に表示される広告を消すフィルター
Googleイメージで画像をクリックすると直接その画像に飛ぶフィルター
Hotmailの広告を削除するフィルター
ってありますか?

Googleについては以下の試してみたんですけど全然効きませんでした
Hotmailはググっても見つかりませんでした

どなたか教えてください

234:名無しさん@お腹いっぱい。
07/08/06 16:52:09 eF6VDaCG0
Name = "Directly Link Google-Images [2006/07/06 dokas_mg]"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)images.google.co(.jp|m)/"
Bounds = "$NEST(<script,</script>)|<(/|)noscript>|<a\s*</a>"
Limit = 4096
Match = "<script*</script>|"
"<(/|)noscript>|"
"("
"<a\shref\=$AV(/imgres\?imgurl\=(http(s|)://[^&]+)\1\&imgrefurl\=(http(s|)://[^&]+)\2\&*) \3"
"$SET(\0=<a href="$UESC(\1)" target="_blank"\3<a href="$UESC(\2)" target="_blank">?</a>)"
")"
Replace = "\0"

Name = "Google ad suppressor"
Active = TRUE
URL = "[^/]++.google.(co.jp|com)/"
Limit = 64
Match = "(<td\s)\#(id=)\#"
Replace = "\#style="display:none" \#"

Name = "Google ad suppressor 2"
Active = TRUE
URL = "[^/]++.google.(co.jp|com)/"
Limit = 256
Match = "(<table )\#(cellspacing=0 cellpadding=0 width=25% align=right bgColor=#ffffff border=0>)\#"
Replace = "\#style="display:none"\#"


235:名無しさん@お腹いっぱい。
07/08/06 16:52:55 eF6VDaCG0
Name = "Directly Link Google-Images [2006/07/06 dokas_mg]"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)images.google.co(.jp|m)/"
Bounds = "$NEST(<script,</script>)|<(/|)noscript>|<a\s*</a>"
Limit = 4096
Match = "<script*</script>|"
"<(/|)noscript>|"
"("
"<a\shref\=$AV(/imgres\?imgurl\=(http(s|)://[^&]+)\1\&imgrefurl\=(http(s|)://[^&]+)\2\&*) \3"
"$SET(\0=<a href="$UESC(\1)" target="_blank"\3<a href="$UESC(\2)" target="_blank">?</a>)"
")"
Replace = "\0"

Name = "Google ad suppressor"
Active = TRUE
URL = "[^/]++.google.(co.jp|com)/"
Limit = 64
Match = "(<td\s)\#(id=)\#"
Replace = "\#style="display:none" \#"

Name = "Google ad suppressor 2"
Active = TRUE
URL = "[^/]++.google.(co.jp|com)/"
Limit = 256
Match = "(<table )\#(cellspacing=0 cellpadding=0 width=25% align=right bgColor=#ffffff border=0>)\#"
Replace = "\#style="display:none"\#"


236:名無しさん@お腹いっぱい。
07/08/06 16:55:37 eF6VDaCG0
ああ、そのGoogleのスクリプト貼ろうとしたんですけど、
なんか弾かれてるみたいで書き込めませんでした

237:名無しさん@お腹いっぱい。
07/08/06 17:36:06 uPNEZ/wq0

期待通りのとこを消してるのかわからんが・・・

Name = "Google Sponsorlink Hide"
Active = TRUE
URL = "[^/]++.google.(co.jp|com)/"
Limit = 64
Match = "(\sid=$AV(mbEnd)[^>]+)\0>"
Replace = "\0 style="display:none">"

>>152
下誰か頼む

238:名無しさん@お腹いっぱい。
07/08/06 19:33:33 sdmveFx70
google ad消し

Limit = 128

<table cellspacing=0*>
$SET(0=<table style="display:none">)|
<div id=tads>$STOP()
$SET(0=<div style="display:none">)

Replace = "\0"

239:名無しさん@お腹いっぱい。
07/08/06 22:26:47 eF6VDaCG0
>>237
ありがとうございます
左じゃなくて右の広告でした

それ使ったら見事に消えました
ただ検索結果の一番上に表示される広告は消えませんでした
(というか、私こんなとこにも広告が表示されるとは知りませんでした)

>>152のGoogleイメージも使えました


>>238
ありがとうございます
私の環境だとなぜか上、右ともに消えませんでした
書き方はこれでいいんですよね?

[Patterns]のところに
Name = "Google Sponsorlink Hide238"
Active = TRUE
URL = "[^/]++.google.(co.jp|com)/"
Limit = 128
Match = "<table cellspacing=0*>"
Replace = "\0 style="display:none">"

240:名無しさん@お腹いっぱい。
07/08/06 22:31:42 eF6VDaCG0
間違えました
Match = のところは

Match = <table cellspacing=0*>
$SET(0=<table style="display:none">)|
<div id=tads>$STOP()
$SET(0=<div style="display:none">)

と書きました

241:名無しさん@お腹いっぱい。
07/08/07 00:33:58 W9Ut2cdC0
>>240
Name = "google ad test"
Active = TRUE
URL = "$TYPE(htm)www.google.(com|co.jp)/search\?"
Limit = 20
Match = "<table cellspacing=0"
"$SET(0=<table style="display:none")|"
"<div id=tads>$STOP()"
"$SET(0=<div style="display:none">)"
Replace = "\0"

242:名無しさん@お腹いっぱい。
07/08/07 18:40:43 Ot0P9nFs0
>>230
全称セレクタ(*)でないとだめな理由
スレリンク(win板:559-561番)

243:名無しさん@お腹いっぱい。
07/08/07 19:24:31 OLC13aLU0
ヘッダフィルタに自前で$LOG付けるのがめんどくさいので配布するときはデフォで付けてくれると助かるな。
出来れば$DTMも使ってログに接続番号を付けて欲しい。 職人さんたちお願いします。

244:名無しさん@お腹いっぱい。
07/08/07 22:46:01 4z1APIah0
>>241
これ強力だわ。
やっと広告消すことができた。ありがとう。
なんで他のじゃダメなんだろう。

245:名無しさん@お腹いっぱい。
07/08/07 23:14:30 E9ftMyTp0
>242
ありがとん。

でも、JavaScript を知らないからスクリプトの内容までは理解できない。
Proxomitron 絡みでもよく利用されるし、
ユーザスクリプトなんて便利そうなものもあるし、勉強した方がいいのかな。

246:名無しさん@お腹いっぱい。
07/08/08 02:22:05 kUVLwiok0
【IE厨涙目】 たった一行でIEをクラッシュさせられるコードが発見
スレリンク(news板:1番)

1 名前: 占い師(香川県)[] 投稿日:2007/08/07(火) 12:43:50 ID:NBKpype00 ?PLT(12230) ポイント特典
はい! こんにちは!!!!!
今日は、偶然ブラクラ発見しちゃったから、それをお伝えしますね!

これだよ!

<style>*{position:relative}</style><table><input></table>

IE6とかIE6のコンポーネントブラウザだと確実に落ちちゃうみたいだね!
IE7は確認してないけど!

tableとかtrの直下に、inputとかselectがあって、
そのあたりにcssの全称セレクタでposition:relativeがあたっているとダメなかんじかな!

ちなみにinputにstyleで直接relativeあてても落ちなかったよ! なにこれ!
よくわかんないけど面白いね…!

FirefoxとかOpera大好きっ子は、
これをたくさんバラまいてIEのシェアをどんどん下げちゃえばいいと思うよ!!!

URLリンク(d.hatena.ne.jp)

(実際に試してみたい人柱の方はこちら)
URLリンク(hamachiya.com)


ド素人すぎてガクブルしてるわっちら子羊をへるぷみー(´・ω・`)

247:名無しさん@お腹いっぱい。
07/08/08 02:26:49 KcnptDka0
2chド素人は帰れ

248:名無しさん@お腹いっぱい。
07/08/08 03:34:28 y2K2vLEnO
>>241
これってGoogleAdsenceのこと?

249:名無しさん@お腹いっぱい。
07/08/08 20:30:05 PihO8hxg0
<table>
<tr>
<td><a href="広告1"><img src="バナー1">
<td><a href="広告2"><img src="バナー2">
</table>

こういうタグを閉じてない書き方をしてるページで
お行儀よく </a> を追加したいのですが
上手い方法が思いつきません。
なにか良いアイデアは無いでしょうか。
これが書かれていないと自作のフィルターが働きません。

250:名無しさん@お腹いっぱい。
07/08/08 20:35:49 5ItxDh0J0
>>249
フィルタかけた部分にまたフィルタかけるってできなくね?

251:名無しさん@お腹いっぱい。
07/08/08 20:39:45 TfROPqJp0
>>250
できるよ。無限ループに陥る可能性あるからあんまやんない方がいいけど。

252:名無しさん@お腹いっぱい。
07/08/08 20:49:15 PihO8hxg0
>>250
エディタの画面の「キャンセル」下のところにある
 「複数のルールのマッチを許可する」
をチェックすると下方向のフィルタだけは使えます。
無限ループにならないように作れても負荷を減らすために
できるかぎりチェックしないほうがいいです。

253:名無しさん@お腹いっぱい。
07/08/08 23:52:22 KSo5AeL10
アンカーを閉じていないサイトはたまに見るけど、
そういうところまでフィルタリングしようとすると余計な負荷がかかりそうだ。
というわけで自分は何も対策していない。
フィルタリングしたいなら、せめて URL マッチを組み合わせた方がいいかも。

254:think ◆MM0nnAOCiQ
07/08/09 01:09:31 JcBlbdXQ0
>>249
ブロックレベル要素を総当たりで検索するしかなさそうです。
a要素の終了タグを省略した場合、終了タグが挿入される位置は、

・<a> の後ろにあるブロックレベル要素の手前
・<a> の親要素であるブロックレベル要素を閉じる場所

のどちらか先に来た方です。
URLリンク(www.asahi-net.or.jp)

<a> の後ろを検索して、</a> より前に、ブロックレベル要素の開始タグ/終了タグが来たら、タグを閉じる方法が考えられます。
(a要素はインライン要素なので、親要素と一致する組み合わせを考える必要はありません)

ただし、スタイルシートでa要素をブロックレベル要素化しているページでは、a要素でブロックレベル要素を内包できるようになるため、誤爆する可能性があります。

255:think ◆MM0nnAOCiQ
07/08/09 01:13:26 JcBlbdXQ0
また、HTML文法を守っていないページでは、スタイルシートを使わずにa要素でブロックレベル要素を括るという強引な手段をとっているかもしれません。
終了タグを省くというところをみると、「とりあえず動けばいい」というスタンスでHTMLを書いている可能性も否定できないわけで…。
一応、a要素でブロックレベル要素を括っても、多くのブラウザは期待通りに動作します。(ブロック範囲のリンクになる)

256:think ◆MM0nnAOCiQ
07/08/09 01:30:23 JcBlbdXQ0
>254-255の理由から実用的とは思えませんが、下記フィルタは>254のアルゴリズムに沿ったものです。

[Patterns]
Name = "Insert clipping </a> [2007/08/09] test1"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 256
Match = "(<a\s[^>]+>[^<]+"
"(</+"
"(^"
"a(ddress|)>|blockquote>|center>|di[rv]>|dl>|fieldset>|form>|h[1-6]>|hr /+>|"
"isindex /+>|menu>|ol>|p>|pre>|table>|tbody>|t[dhr]>|ul>"
")[^>]+>[^<]+)+)\0"
"(^</a>)"
Replace = "\0</a>"

HTML4.01でブロックレベル要素とされているものは全て網羅していますが、dt, li などの特殊なタグは含んでいないので、適宜対応させてください。

257:名無しさん@お腹いっぱい。
07/08/09 01:57:24 Tl1tkT1+0
どうせブラウザで補完してくれるし、わざわざやる意味がないと思うんだけどどうかな?

258:名無しさん@お腹いっぱい。
07/08/09 01:58:22 Tl1tkT1+0
うわすんません、のんびり更新チェックしてたらめっちゃスレ進んでた
失礼失礼

259:名無しさん@お腹いっぱい。
07/08/09 02:03:48 538UQ0Om0
</a>を補完するフィルタを使ったところで自作フィルタは動かないんじゃ・・w

260:名無しさん@お腹いっぱい。
07/08/09 02:05:03 538UQ0Om0
あ、マルチtrueにすればいいのか。

261:名無しさん@お腹いっぱい。
07/08/09 02:06:01 SZ77Cigx0
>スタイルシートでa要素をブロックレベル要素化しているページでは、
>a要素でブロックレベル要素を内包できるようになる

これは正しいのかな。
a { display: block; }
のことだと思うけど、あくまでブロックレベル要素「のように見せている」だけ。
文法上はあくまでインライン要素だし、
スタイルシートを切ってしまえば視覚的にもインライン要素になる。
(アンカーでブロックレベル要素を括っている場合を除く)

URLリンク(htmllint.itc.keio.ac.jp)
文法上、アンカーの子孫になりうるもの。(「Contents」)

ただ、実際にアンカーでブロックレベル要素を括っているのはよく見かける。
a h1 { border: 2px dashed; }
こんな感じで適用させてみればわかるかと。
意図せずアンカーをクリックせずに済むので、少しはましになるかもしれない。

262:think ◆MM0nnAOCiQ
07/08/09 04:15:17 JcBlbdXQ0
>>258-259
>256では、Multi = TRUE を忘れていました。(苦笑)

>>261
> URLリンク(htmllint.itc.keio.ac.jp)
これはあくまでHTMLとして見た観点であって、CSSを適用させることを想定していないと思うのですが、どうでしょうか?

> a { display: block; } のことだと思うけど、あくまでブロックレベル要素「のように見せている」だけ。
ブロックレベル要素という言葉が拙かったのかもしれません。
言葉通りに受け取れば誤りなので、訂正します…。

CSSとして、「ブロックボックス」「インラインボックス」という表現が正確でした。
インライン要素はインラインボックスを、ブロックレベル要素はブロックボックスを生成します。
インラインボックスの中にブロックボックスを含むことは出来ません。
displayプロパティでa要素をブロックボックスに変更すれば、ブロックボックスを内包することができます。

視覚整形モデル
URLリンク(www.swlab.it.okayama-u.ac.jp)
ボックスの種類 - CSS Dencitie
URLリンク(www6.plala.or.jp)

263:名無しさん@お腹いっぱい。
07/08/09 07:48:25 zRCWS2Hl0
>>261じゃないが、htmlはそれ単体で問題ない事が前提だぞ。
文書があったらすでにマークアップが存在してる、それがhtml。
あくまでCSSは見た目を変更してるだけで、CSSがhtmlの構造に影響を与えてはいけないって訳。

例えばCSSを扱えないUAがあるのをわかってる?
当然そういうのにも対応しないといけない事も。

まあそんなのは所詮決まりごとであって、守らない人も多いから大変なんだけどね。
とりあえず考え方だけは覚えておいて損はない。

264:名無しさん@お腹いっぱい。
07/08/09 10:08:21 FkujzXwc0
>>257
ブラウザを通過した後にフィルタかけろ、ってか?

265:think ◆MM0nnAOCiQ
07/08/09 21:00:17 JcBlbdXQ0
>>263
目から鱗が落ちました。
仰る通り、HTML単体で動作しないと正しいとはいえないですよね。

> 例えばCSSを扱えないUAがあるのをわかってる?
わかっているつもりで、すっかり忘れていました。
a要素をblockに変更する場合は、inlineでも動作する構造にするのが正しい、というところでしょうか。

OK: <div><a style="display: block">hogehoge</a></div>
NG: <a style="display: block"><div>hogehoge</div></a>


266:名無しさん@お腹いっぱい。
07/08/09 22:35:02 SZ77Cigx0
そういえば以前、どこかで議論になったことがあったっけ。
object の子にブロックレベル要素を置いても文法違反にならないことを利用して、
インライン要素の子孫にブロックレベル要素を置いても valid なんて話が。

文法上 invalid な例
<a><div></div></a>

文法上 valid な例
<a><object><div></div></object></a>

267:名無しさん@お腹いっぱい。
07/08/09 23:22:52 yDstUd4y0
lastfm URLリンク(www.lastfm.jp)
に表示が崩れてしまうのは私だけでしょうか?
バイパスしても表示が崩れてしまいます。

オミトロンをOFF(バイパス)にすると正常に表示されます。

設定ファイルの何処かがおかしくなったでしょうか?

268:名無しさん@お腹いっぱい。
07/08/09 23:38:00 w5YoJi8l0
フレームとか別サバのCSSとか呼んでるだろうから
そういうのもバイパスしないと崩れるんじゃにあの

269:名無しさん@お腹いっぱい。
07/08/10 06:29:19 1IcxzV8M0
>>266
それどっちもinvalidだ。

270:名無しさん@お腹いっぱい。
07/08/10 10:02:15 tzMfPzZN0
>>267
> バイパスしても表示が崩れてしまいます。
> オミトロンをOFF(バイパス)にすると正常に表示されます。
どっち?

271:249
07/08/10 11:07:48 +F5dGCdu0
一括レスで失礼します。
色々な意見や資料をありがとう。
>>256 をベースに試行錯誤してみます。

あと、この対策でもうひとつのメリットは
 <table>
 <tr><td><a href="URI1"><img src="URI2">
 </table>
 <a href="URI3">ほえほえ</a>
これが
 <table>
 <tr><td><a href="URI 1">[広告かもよ]</a>
こんなふうに URI1 が広告の候補の場合に
URI3 のほうの</a>に反応してしまって
</table>まで消えてしまうのを簡単に防げます。
これが消えると表示がメチャクチャになっちゃう。

272:名無しさん@お腹いっぱい。
07/08/10 12:22:41 TR4rfw2o0
>>267
俺はどちらも崩れないよ。

273:名無しさん@お腹いっぱい。
07/08/10 15:04:02 qZXzOnQt0
URLリンク(imepita.jp)からURLリンク(imepita.jp)へ飛ばすフィルタはどのようにすれば作成できますか?
URLcontrolフィルタで
$URL(URLリンク(imepita\.jp)(*)\1/(*)\2)$JUMP(URLリンク(imepita\.jp)(*)\1/(*)\2)
としたのですが/image/image/・・・・・・と永遠にループしてしまいます
テストでは変換されたのですが、色々試した結果恐らく正規表現がおかしいのだと思いました

274:名無しさん@お腹いっぱい。
07/08/10 16:31:04 PYjfHAJG0
>>273
ある意味、その表記で正しくて
ある意味、その表記通りに動作してるよ

URLにimageを付け加えてジャンプ
すると、そのimageが付け加えられたURLもその条件に引っかかるから更にimageを付け加えてジャンプ
すると、そのimageが二つ付け加えられたURLもその条件に引っかかるから‥‥以下ループ
になっているだけで

275:名無しさん@お腹いっぱい。
07/08/10 18:00:51 1IcxzV8M0
>>271
そのサイト専用の作った方がずっと効率的じゃ

276:名無しさん@お腹いっぱい。
07/08/10 18:36:51 Sd/PAkLI0
>>275
そういうサイトは1つや2つではないので、
そんなことはないはず。

汎用で作っておいて、
該当するサイトだけのURLマッチを使うようにするのが、
一番効率的だと思います。

277:名無しさん@お腹いっぱい。
07/08/11 01:24:30 k5OOrB0z0
そうじゃなくて>>249ならtable自体を消すとか、
<a href="広告1"><img src="バナー1">だけを閉じタグを考えずに消すみたいな専用
閉じタグが無いサイト用の汎用フィルタの方が非効率的な気がする

278:名無しさん@お腹いっぱい。
07/08/11 02:35:22 I4zUWbty0
ヘッダフィルタでヘッダを消すと$LOGが効かないんだけどなんで?
Control Refererフィルタのリファラヘッダの残りカスを消すフィルタに
$LOGコマンドを入れてみたけどログウインドウには何も表示されませんでした。

[HTTP headers]
In = FALSE
Out = TRUE
Key = "Referer: Control Referer After(Out)"
Match = "(^?)$LOG(RReferer: Control Referer After)"

279:名無しさん@お腹いっぱい。
07/08/11 10:18:50 ddpsL1BM0
Replaceに置けば?

280:名無しさん@お腹いっぱい。
07/08/11 11:42:35 I4zUWbty0
>>279
試してみましたが無理でした。

281:218
07/08/11 13:19:25 I4zUWbty0
いろいろ試したらヘッダを消したときこんな症状が出ることが分かりました

○ $LOG、$ALERTが動かない

○ $SETでグローバル変数に何かを代入してもWEBフィルタで
 $GETを使ったときに中身がからっぽで何も入っていない

○ リストにマッチさせてヘッダを消したときログウインドウにリストがマッチしたことが表示されない


これとは別にヘッダを消すフィルタ以外での変な挙動も見付けました

○ マッチ欄が "*" だけのときはそのヘッダが元から存在するときにしか動きません。
 しかしマッチ欄が "*&*" のように、"*" 以外の文字が入っているとそのヘッダが存在しないときでも動きます。
 これは明らかに変なのでたぶん作者が意図的にこういう挙動にしたんだと思います

 このことからヘッダが元から存在したかどうかで分岐さたいときには "$OHER(ヘッダ名:*)" または
 "$IHDR(ヘッダ名:*)" を使えばいいことが分かりました


他にもいろいろ試したけど$LOGを動かす方法は分かりませんでした

282:名無しさん@お腹いっぱい。
07/08/11 16:28:53 h4iW05q40
>>274
これを1度だけしか検索に引っかからないようなやり方は無いのでしょうか?

283:名無しさん@お腹いっぱい。
07/08/11 16:30:06 kFgMNE1d0
しこたまある

284:名無しさん@お腹いっぱい。
07/08/11 16:41:02 h4iW05q40
ですよね
こんなよくあるようなのが変換できないはずないですよね・・・
正規表現勉強してきます

285:名無しさん@お腹いっぱい。
07/08/11 17:57:21 Tc6B53GV0
関係ない話だけど便乗で質問。

(out)
Range: bytes=921653-
If-Range: "15ad0b-e1036-3d185390"

(in)
Content-Length: 921654

ビットマップファイルを開くとヘッダの一部にこういうものがあって、
IEで画像を保存すると壊れないのに、FirefoxやNetTransportで保存すると壊れる。
上の例だと、ファイルサイズが921654バイトということがわかるけど、
FirefoxやNetTransportで保存した場合は1バイト少なくなっている。
RangeとIf-Rangeのヘッダを消去すれば改善するかもしれないと思ってやってみたけど、
置換テキストに$LOGがあると、
ヘッダの値が空になるだけでヘッダそのものはなくならない。これはなぜだろう。

In = FALSE
Out = TRUE
Key = "Range: range deleter (2007.08.11)"
Replace = "$LOG(w range deleted)"

286:名無しさん@お腹いっぱい。
07/08/11 19:05:09 jJFzsmLr0
>>241の修正
右テーブルにスポンサーリンクが無くて
左にだけ有る場合に効かないのを修正

Match = "(<table\scellspacing=0|<div\sid=tpa?)\1"
"$SET(0=\1 style="display:none")|"
"(<div\sclass=g>)\1$SET(0=\1$STOP())"

287:名無しさん@お腹いっぱい。
07/08/11 22:01:11 Bx/Q1xgH0
ググルキャッシュってIP直打ちの場合もあるからURL matchがそれだと不味くね?

288:281
07/08/11 23:20:19 I4zUWbty0
>>281に追加。

◆ ヘッダが元からあるとき(値が0文字でもOK)は$LOGが動き、
  ヘッダが元からないときは$LOGは動かないことが判明。


◆ ヘッダが元からないときでもReplace欄がからっぽ以外のときは$LOGは動く。

パターン1
match = "$LOG(Rtest)"
Replace = "$LOG(Rtest)"
→ $LOGが2回表示された

パターン2
match = "$LOG(Rtest)"
→ $LOGが動かなかった

上のフィルタが正常に動くことから下のフィルタもマッチング自体は正常に
行われていると推測出来ます。 つまり下のフィルタは単にマッチしていないのではなく、
$LOGが動かないという不具合が発生している。

>>279>>285
Replace欄に何かを書くとヘッダが出力されてしまうらしい。

289:281
07/08/11 23:50:10 I4zUWbty0
仮説

元からヘッダがないときはReplace欄がからっぽのフィルタは実行されないように作られている?

Replace欄がからっぽのフィルタがマッチしてもヘッダなしからヘッダなしに置換することになるので無駄。
この無駄を省くためにスキップされている?

実に合理的だけどスキップによるメリットよりもフィルタの可能性を縮めるデメリットのほうが大きい気が。

290:名無しさん@お腹いっぱい。
07/08/12 02:41:48 FcchNM1J0
YOUTUBEのV3バージョンへのフィルタ対応マダ〜?

291:名無しさん@お腹いっぱい。
07/08/12 05:03:40 dkSQ+SMB0
Name = "YouTube(v3): DL from google"
Active = TRUE
URL = "$TYPE(htm)(www.youtube|jp.youtube|youtube).com/watch\?v="
Limit = 32
Match = "(<div\sid=$AV((watchqueueStartNew|actionsAreaDiv)))\0"
"$URL(URLリンク(\h\p\?v=)<)
"[[[ Download ]]]</a></div>\0"

292:名無しさん@お腹いっぱい。
07/08/12 07:04:32 s1xsUllK0
URLリンク(www.webxlab.jp)
こんな感じにgoogleを出来たらいいんだけど難しいかね

293:名無しさん@お腹いっぱい。
07/08/12 12:30:25 l7WqUmMB0
Yahooの検索結果のページですが、例えば「2ch」で検索して
リンク先が「URLリンク(www.2ch.net)<)
_ylu=X3oDMTE4MHZka3A4BGNvbG8DdwRsA1dTMQRwb3MDMQRzZWMDc3IEdnRpZANGMDAxX0YwMDE-/SIG=117jte2af/EXP=1186975316/*-http%3A//www.2ch.net/
(長すぎるとエラーが出るので改行しました)
こんな感じで長ったらしいのですが、これを純粋なリンク先のURLに変換するフィルタを
作っていただけないでしょうか?

294:名無しさん@お腹いっぱい。
07/08/12 21:15:13 SAz16y520
Name = "Yahoo Search URL Cut"
Active = TRUE
URL = "search.yahoo.co.jp/search\?p=$TYPE(htm)"
Limit = 512
Match = "<a\s\#href=$AV(*%3A//(*)\#)"
Replace = "<a \#href="URLリンク(\#"")

なんか余計なとこにもマッチしてるみたいだけどとりあえず問題なさそうなので

295:名無しさん@お腹いっぱい。
07/08/12 23:35:02 jkiCDwoi0
memo: Foobarヘッダが存在しない場合に$LOGを表示するフィルタ。(試作品)

[HTTP headers]
In = FALSE
Out = TRUE
Key = "URL: Header Check (out) test1"
Match = "(^$OHDR(Foobar:*))"
Replace = "$LOG(wFoobar header was not found.)"

296:293
07/08/13 04:38:08 Jc0rPpmE0
>>294
遅くなってすみません。うまくいきました!
ありがたく使わせていただきます。

297:名無しさん@お腹いっぱい。
07/08/13 11:38:20 CwXSkPIn0
>>275
専用で考えた結果がたまたま汎用で使えるだけです。
既存のフィルタも無改造で使えて便利だと思ったのですが、そうでもないですか?


298:名無しさん@お腹いっぱい。
07/08/13 19:25:51 ru98NiyJ0
事前に清書用フィルタを通すのは、
本来の目的のフィルタをすっきりと簡潔に記述するだけで済むから、
むしろ効率的な対応だと思う。

件の </a> を省略してるサイトだって、
1つのtable内ですら省略してるかしてないかが統一されてなかったりすると、
両方対応、結局、汎用のフィルタを書くことになる。
例えそのサイト限定のつもりで書いたとしても。

自分も </a> を所々で </a > と書いてるサイト用に
( a の後ろにスペースが置いてある)
似たような対策をした経験からそう思った。

299:名無しさん@お腹いっぱい。
07/08/15 00:14:28 JRVE/i0F0
ピラミッドに目のマークって、もしや

300:名無しさん@お腹いっぱい。
07/08/15 03:34:47 LYpmz+CQ0
某闇組織

301:名無しさん@お腹いっぱい。
07/08/15 09:45:51 xpogO+ij0
>>299
キャップストーンに神の目・・・ 我が方へ来たれ・・・・w

302:名無しさん@お腹いっぱい。
07/08/15 12:23:20 xpogO+ij0
URLリンク(www.veoh.com)
こやつ用のフィルター所持しておる御仁はおられるかな?

303:名無しさん@お腹いっぱい。
07/08/17 13:26:21 HvmhE6jr0
Last-Modified ヘッダの中身を簡単に表示させようという試み。
以下を組み合わせると動作する。

In = TRUE
Out = FALSE
Key = "Last-Modified: last-modified memorizer (in) (2007.08.17)"
URL = "$KEYCHK(y)"
Match = "(?*)\1|$SET(modified=not found)"
Replace = "\1$SET(modified=\1)$LOG(wLast-Modified was memorized)"

Name = "last-modified reminder (2007.08.16)"
Active = TRUE
URL = "$KEYCHK(y)"
Limit = 16
Match = "(^(^</(body|html)>))$TST(modified=?*)"
Replace = "<p>Last-Modified: $GET(modified)</p>$SET(modified=)\r\n$STOP()"

304:名無しさん@お腹いっぱい。
07/08/17 13:28:08 HvmhE6jr0
しかし、以下では動作しない。
フィルタをひとつにまとめられると便利だろうと思ったんだけど、
動作しない原因は何だろう。$IHDR しか考えられないけど。

Name = "last-modified displayer (2007.08.17)"
Active = FALSE
URL = "$KEYCHK(y)&$IHDR((Last-Modified: ?*)\1)"
Limit = 16
Match = "(^(^</(body|html)>))"
Replace = "<p>\1</p>\r\n$STOP()"

305:名無しさん@お腹いっぱい。
07/08/17 13:33:48 qt8cj2bf0
>>304
>$IHDR((Last-Modified: ?*)\1)

二重括弧はNGでは。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4740日前に更新/352 KB
担当:undef