[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: [shimbun] ZDNet



>> On Fri, 24 May 2002 12:08:53 +0900
>> "ari" == ari@mbf.sphere.ne.jp (ARISAWA Akihiro) said as follows:

ari> ようやく commit しました。

ご苦労様でした.

新しい ZDnet の構成だと,広告サイトの画像がうるさくなったので,以下の
ように変更してみようかと思いますが,w3m-parse-attributes() を使ってし
まうと問題があるような気がするので,ちょっと思案中です.

この問題を考えていて気が付いたのですが,shimbun を 
shimbun-encapsulate-images => t の状態で使っているのは,WEBBUG の問題
に結構脆弱なんですね.例えば,上記の広告画像の問題に関して言えば,実際
に閲覧しようとしているホストは,

    http://www.zdnet.co.jp/

ですが,広告画像を提供しているサーバは,

    http://ad.zdnet.co.jp/

なのです.こういった別サーバで提供されている画像は読み込まない,という
選択肢があるといいなあ,と思いました.
Index: sb-zdnet.el
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/shimbun/sb-zdnet.el,v
retrieving revision 1.16
diff -u -u -r1.16 sb-zdnet.el
--- sb-zdnet.el	2002/05/24 03:02:13	1.16
+++ sb-zdnet.el	2002/05/27 03:58:14
@@ -128,12 +128,27 @@
 	   shimbun))
 
 (luna-define-method shimbun-make-contents :before ((shimbun shimbun-zdnet) header)
+  (shimbun-zdnet-remove-advertisements))
+
+(defun shimbun-zdnet-remove-advertisements ()
   (let ((case-fold-search t)
 	(start))
     (while (and (search-forward "<!-- AD START -->" nil t)
 		(setq start (match-beginning 0))
 		(search-forward "<!-- AD END -->" nil t))
       (delete-region start (point)))
+    (goto-char (point-min))
+    (while (re-search-forward "<img[ \t\r\f\n]+" nil t)
+      (setq start (match-beginning 0))
+      (w3m-parse-attributes (src)
+	(when (string-match "\\`http://ad\\.zdnet\\.co\\.jp/"; src)
+	  (delete-region start (point)))))
+    (goto-char (point-min))
+    (while (re-search-forward "<a[ \t\r\f\n]+" nil t)
+      (setq start (match-beginning 0))
+      (w3m-parse-attributes (href)
+	(when (string-match "\\`http://ad\\.zdnet\\.co\\.jp/"; href)
+	  (delete-region start (point)))))
     (goto-char (point-min))))
 
 (provide 'sb-zdnet)
-- 
土屋 雅稔  ( TSUCHIYA Masatoshi )