掲示板お問い合わせランダムジャンプ

トップスペース
 

2007年05月13日
proxomitronを使ってWebサイトの表示をユーザー側で速くする
 404 Blog Not Found:あなたのページを最速にする14の掟
 上でWebページを速く表示する方法が紹介されてます。

 こういうのはWebサイトの管理人にしかできないことですが、proxoimitronを使えばユーザー側でも多少はページの表示を速くすることができます。そもそもproxoimitronはそういうものだったりするわけですが。

 ただ、標準のフィルターだけでは少し物足りないので、自分が使ってるフィルターを紹介しようと思います。ポイントは2つ「HTTPリクエストを減らす」と「余分なJSを読み込まない・実行しない」です。


●iframeをクリックで開くフィルター
 iframeは広告で使われることが多いので、読み込まなくても良いことがほとんどです。必要なときだけ読み込むことでHTTPリクエストを減らします。(追記:こっそり修正してあります)
[Patterns]
Name = "iframe Dynamic Opner (2011/08/06)"
Active = TRUE
URL = "$TYPE(htm)"
Bounds = "$NEST(<iframe\s,</iframe>)"
Limit = 1024
Match = "(*\ssrc=$AV(\s+([^\\\+\-\*'"`\^:;!,@=<>|\[\]\(\)\{\}]*)\2\s+)*)\1"
Replace = "<span><font size=1 color=#999999 style=cursor:pointer;font-size:9px;line-height:100%;"
          " onclick=return(this.parentNode.innerHTML=unescape(this.getAttribute(&#39;iframe&#39;)),false)"
          " iframe=$ESC(\1) title=\2>[iframe]</font></span>"
 このフィルターはProxomitron用フィルタ集の「iFrame to dynamic link」を参考にしました(ほとんど同じようなものですが…)。違いは、マウスカーソルを載せるとsrcの内容をtitleで表示することや、JavaScriptのソースにヒットしても被害が少ない(スクリプトがストップしない可能性が高い)ことです。
 [追記:2011/08/06]JavaScriptのソースにヒットしにくくしてみました。JavaScriptでiframeを使って同期させるサイトが増えてきたためです。srcの1文字目がURLやファイル名に使われそうも無い文字なら除外するようにしています。

●特定のJSを読み込まないフィルター
 ブロックリストで指定したスクリプトを読み込まないようにします。.jsを読み込まないことでHTTPリクエストを減らすばかりでなく、実行しないので若干軽くなります。webフィルター版とヘッダ版がありますが、ほとんどヘッダ版で事足ります。ただ、webフィルター版はページのソースにブロックした痕跡が残るので、リストに未登録の新しいスクリプトを発見するのに便利です。
[Patterns]
Name = "script off [2007/03/26]"
Active = TRUE
URL = "$TYPE(htm)|$TYPE(js)"
Bounds = "<script\s([^>]++=$AV(*))+{1,*}[^>]++"
Limit = 512
Match = "\1(src=$AV(http(s|)://$LST(ScriptList)*))\2\3"
Replace = "\1PrxOff_\2\3"

[HTTP headers]
In = FALSE
Out = TRUE
Key = "URL-Killer: Script File Kill (out)"
URL = "$LST(ScriptList)"
Replace = "\k"
 ブロックリスト(このフィルターの場合はScriptList)の内容は以下のような感じです。自分でどんどん追加して下さい。
# script off list

([^/]++.|)googlesyndication.com/*ads.js(^?)
www.adjustnetwork.com/aan/serve\?
jump.joyfulclick.com/banner.asp\?
([^/]++.|)valueclick.ne.jp/jsmaster
ad.([^/]++.|)doubleclick.net/ad[/j]
ad.brainer.jp/ad.js
agilemedia.jp/embed/blogmedia.php
[^/]++.durasite.net/*([\&\?]encoding=|.js(^?))

●サイト単位でスクリプトを無効にするフィルター
 標準のフィルターに似たようなものがありますが、ブロックリストで指定したサイトだけ有効にするようにしています。また、他のフィルターで追加したスクリプトまで無効にしないようにしています(srcがhttp://Local.ptron/以下は除外)。
 ブラウザによってはサイト単位でJavaScriptの有効・無効を設定できますが、それではproxomitronで追加したスクリプトや何やらも無効になってしまうのでこれを使ってます。
[Patterns]
Name = "Disable JavaScript"
Active = TRUE
URL = "$LST(DisJSList)$TYPE(htm)"
Limit = 512
Match = "<script(^\ssrc=http://Local.ptron/)([^>]++=$AV(*))+[^>]+>"
Replace = "<script language=ShonenScript712.0>"
 これのblocklist(DisJSList)は下のような感じ。主にニュースサイトがほとんどです。
([^/]++.|)yomiuri.co.jp/
([^/]++.|)asahi.com/
([^/]++.|)mainichi-msn.co.jp/
([^/]++.|)sankei.co.jp/
([^/]++.|)nikkei.co.jp/
([^/]++.|)zakzak.co.jp/
([^/]++.|)cnn.co.jp/
([^/]++.|)sanspo.com/
([^/]++.|)jiji.com/
([^/]++.|)chosun.com/
#([^/]++.|)nikkansports.com/
([^/]++.|)sponichi.co.jp/
([^/]++.|)iza.ne.jp/
([^/]++.|)47news.jp/
news.goo.ne.jp/
news.livedoor.com/
([^/]++.|)(dailynews|headlines).yahoo.co.jp/
news.yahoo.com/
([^/]++.|)excite.co.jp/News/
news.www.infoseek.co.jp/
([^/]++.|)cnet.com/
([^/]++.|)watch.impress.co.jp/
([^/]++.|)itmedia.co.jp/
([^/]++.|)nikkeibp.co.jp/
([^/]++.|)ascii.jp/
([^/]++.|)atmarkit.co.jp/
([^/]++.|)mycom.co.jp/
([^/]++.|)computerworld.jp/
([^/]++.|)internet.com/
([^/]++.|)zdnet.com/
([^/]++.|)famitsu.com/
([^/]++.|)dengekionline.com/
eg.nttpub.co.jp/
([^/]++.|)gpara.com/
([^/]++.|)4gamer.net/

 結局、広告の類がページの表示を遅くしている元凶なわけですが、広告を掲載する側にとって、テキスト広告がベストなセレクトになるのではないでしょうか。
[ 投稿者:うえぽん at 21:52 | proxomitron | コメント(0) | トラックバック(0) ]

この記事へのコメント

この記事へのトラックバック

この記事へのトラックバックURL
http://shinshu.fm/MHz/14.30/a09104/0000189945.trackback

この記事の固定URL
http://shinshu.fm/MHz/14.30/archives/0000189945.html

記事へのコメント
 
簡単演算認証: 9 x 7 + 5 =
計算の答えを半角英数字で入力して下さい。
名前: [必須]
URL/Email:
タイトル:
コメント:
※記事・コメントなどの削除要請はこちら