Res Popup(掲示板などのレスをポップアップ Edit

目次など Edit

掲示板などのレスをポップアップさせて、一々スクロールしなくても良くする

案1 rep2のrespopup.jsを使う Edit

概要

問題点

導入

  1. 以下のフィルタを導入する
    [Patterns]
    Name = "ResPopup (rep2) (1/4) [2016-04-11]"
    Active = TRUE
    URL = "($LST(cache_prefix)|)$LST(respopup) | $TST(uesc_url=$LST(respopup)*)"
    Limit = 256
    Match = "(^(^</head>|<body))$STOP()"
    Replace = "<script type="text/javascript" src="http://local.ptron/respopup.js" charset="Shift_JIS"></script>\r\n"
              "<script type="text/javascript">\r\n"
              "_d = document;\r\n"
              "function proxoShowResPopUp(res, event){\r\n"
              "	res = res.replace(/^0+/, '');\r\n"
              "	var id = 'q' + res;\r\n"
              "	if (!_d.getElementById(id)) {\r\n"
              "		var popup_str = _d.getElementById('r' + res).innerHTML.replace(/(?:<[Bb][Rr][^>]*>(?:&nbsp;|\\s|\\u3000)*)+$/, '').replace(/^(?:(?:&nbsp;|\\s|\\u3000)*<[Bb][Rr][^>]*>)+/, '') + '<br>';\r\n"
              "		if (/^(?:[^\\/]*?\\.|)4-ch\\.net$/i.test(location.hostname))\r\n"
              "			popup_str += _d.getElementById('r' + res).parentNode.parentNode.innerHTML;\r\n"
              "		else {\r\n"
              "var obj = _d.getElementById('r' + res);"
              "if (obj.tagName == 'DT') {"
              "			obj = obj.nextSibling;\r\n"
              "			while (obj.nodeType !== 1)\r\n"
              "				obj = obj.nextSibling;\r\n"
              "			popup_str += obj.innerHTML;\r\n"
              "}"
              "		}\r\n"
              "		popup_str += /^1\\.5ch\\.info$/i.test(location.hostname) ? _d.getElementById('r' + res).nextSibling.nextSibling.innerHTML : '';\r\n"
              "		popup_str = popup_str.replace(/(?:<[Bb][Rr][^>]*>(?:&nbsp;|\\s|\\u3000)*)+$/, '').replace(/^(?:(?:&nbsp;|\\s|\\u3000)*<[Bb][Rr][^>]*>)+/, '');\r\n"
              "		"
              "		var obj = _d.createElement('DL');\r\n"
              "		obj.innerHTML\r\n"
              "			= '<dd id="' +id+ '" class="prx_respopup" onMouseover="'\r\n"
              "				+ "showResPopUp('" +id+ "', event)"\r\n"
              "			+ '" onMouseout="'\r\n"
              "				+ "hideResPopUp('" +id+ "')"\r\n"
              "			+ '"><i>'\r\n"
              "			+ (!_d.getElementById('r' + res)\r\n"
              "				? 'not found'\r\n"
              "				: popup_str\r\n"
              "			) + '</i></dd>';\r\n"
              "		_d.body.appendChild(obj);\r\n"
              "		// _d.documentElement.appendChild(obj);\r\n"
              " 	}\r\n"
              "	showResPopUp(id, event);\r\n"
              "}\r\n"
              "function proxoHideResPopUp(res){\r\n"
              "    hideResPopUp('q' + res);\r\n"
              "}\r\n"
              "</script>\r\n"
              "<style type="text/css">\r\n"
              "	dd.prx_respopup{ margin: 8px 8px }\r\n"
              "	dd.prx_respopup i{ font-style: normal }\r\n"
              "	.prx_respopup{\r\n"
              "		position: absolute;\r\n"
              "		visibility: hidden;\r\n"
              "		/*background: #d9d9d9 url("./skin/metal/hl09a.gif");*/\r\n"
              "		background-color: #ffffcc;\r\n"
              "		border: inset 2px #2f4f4f;\r\n"
              "		padding: 8px;\r\n"
              "		line-height: 120%;\r\n"
              "		text-align: left;\r\n"
              "		/* font-size: 12px; */\r\n"
              "	}\r\n"
              "	.prx_respopup i{\r\n"
              "		color: #000 !important;\r\n"
              "	}\r\n"
              "	.prx_respopup hr{ width: 50% }\r\n"
              "</style>\r\n"
    
    Name = "ResPopup (rep2) (2/4) [2009-05-13]  Shift_JIS, EUC-JP, UTF-8"
    Active = TRUE
    URL = "($LST(cache_prefix)|)$LST(respopup) | $TST(uesc_url=$LST(respopup)*)"
    Limit = 128
    Match = "(\&gt;+"
            "	|[%95][%C4]|[%81][%A6]|[%81][%84]|[%81][%E2]"
            "	|[%CA][%C6]|[%A2][%A8]|[%A1][%E4]|[%A2][%E4]"
            "	|[%E7][%B1][%B3]|[%E2][%80][%BB]|[%EF][%BC][%9E]|[%E2][%89][%AB]"
            ")+{1,*}"
            "("
            "	([0-9][0-9]+)\#"
            "	|"
            "	([%82]"
            "		([%4F]$SET(#=0)|[%50]$SET(#=1)|[%51]$SET(#=2)|[%52]$SET(#=3)|[%53]$SET(#=4)|[%54]$SET(#=5)|[%55]$SET(#=6)|[%56]$SET(#=7)|[%57]$SET(#=8)|[%58]$SET(#=9))"
            "	)"
            "	|"
            "	([%A3]"
            "		([%B0]$SET(#=0)|[%B1]$SET(#=1)|[%B2]$SET(#=2)|[%B3]$SET(#=3)|[%B4]$SET(#=4)|[%B5]$SET(#=5)|[%B6]$SET(#=6)|[%B7]$SET(#=7)|[%B8]$SET(#=8)|[%B9]$SET(#=9))"
            "	)"
            "	|"
            "	([%EF][%BC]"
            "		([%90]$SET(#=0)|[%91]$SET(#=1)|[%92]$SET(#=2)|[%93]$SET(#=3)|[%94]$SET(#=4)|[%95]$SET(#=5)|[%96]$SET(#=6)|[%97]$SET(#=7)|[%98]$SET(#=8)|[%99]$SET(#=9))"
            "	)"
            ")+{1,*}"
            "(^[^<>]+>)"
            "("
            "	$URL(https+://([^/]++.|)4-ch.net/) (^" , [0-9]+ \))"
            "|)"
            "&&\0$SET(1=\@)"
    Replace = "<u onmouseover="proxoShowResPopUp('\1',event)" onmouseout="proxoHideResPopUp('\1')">\0</u>"
    
    Name = "ResPopup (rep2) (3/4) [2009-05-13]"
    Active = TRUE
    URL = "($LST(cache_prefix)|)$LST(respopup) | $TST(uesc_url=$LST(respopup)*)"
    Limit = 256
    Match = "<(dt|span class="replynum")\9> (\[|)\# (<[^>]+>|)\# (0+([0-9][0-9]+)\1)\0"
    Replace = "<\9 id="r\1">\@\0"
    
    Name = "ResPopup (rep2) (4/4) [2016-04-11]"
    Active = TRUE
    URL = "($LST(cache_prefix)|)$LST(respopup) | $TST(uesc_url=$LST(respopup)*)"
    Limit = 256
    Match = "\sid=$AV(([0-9]+)\0)"
    Replace = " id="r\0""
    
    Name = "ResPopup (rep2) (3/3) livedoor blog [2009-05-13]"
    Active = TRUE
    URL = "($LST(cache_prefix)|)(blog.livedoor.jp/[^/]+/archives/*.htm|[^.]+.livedoor.biz/archives/*.htm) | $TST(uesc_url=(blog.livedoor.jp/[^/]+/archives/*.htm|[^.]+.livedoor.biz/archives/*.htm)*)"
    Limit = 256
    Match = "<div\s[^>]++class=$AV(commentttl)(^(^[^>]+> 0+([0-9][0-9]+)\1))&&\0"
    Replace = "\0 id="r\1""
  2. 「Proxomitronが有るフォルダ/html/」に、filerespopup.jsをDLする
  3. ../CacheSiteListを導入する
  4. 以下のリストを導入する
    [Blocklists]
    List.respopup = "..\Lists\respopup.txt"
    #
    # respopup.txt  $LST(respopup)
    # http://local.ptron/.pinfo/lists/respopup
    #
    # マッチ欄:URL Match
    # 戻り値:無し
    #
    # 2ch、まちBBS、BBSPINK、MEGABBS、などの2ch風掲示板のURLリスト
    # サイトが閉鎖しても、Archive.orgなどで見れるのでリストには残す
    #
    # 用途:レスをポップアップさせたり、画像を直接表示させるのに使用する
    
    
    # キーボードのCとHを押したままアクセスで有効化
    $KEYCHK(ch)
    
    
    ### 2ch風スクリプト
    # 2ch
    ([^/]++.|)2ch.net/test/read.
    ([^/]++.|)2ch.net/[^/]+/kako/([0-9]+/)+[0-9]+.html
    # sc
    ([^/]++.|)2ch.sc/test/read.
    ([^/]++.|)2ch.sc/[^/]+/kako/([0-9]+/)+[0-9]+.html
    # Open2ch (UTF-8)
    ([^/]++.|)open2ch.net/test/read.
    # まちBBS
    ([^/]++.|)machi.to/bbs/read.
    ([^/]++.|)machibbs.net/[^?]++/[0-9]+.html
    # BBSPINK
    ([^/]++.|)bbspink.com/test/read.
    ([^/]++.|)bbspink.com/[^/]+/kako/([0-9]+/)+[0-9]+.html
    # 双葉
    ([^/]++.|)2chan.net/test/read.
    ([^/]++.|)2chan.net/[^/]+/kako/([0-9]+/)+[0-9]+.html
    # したらば JBBS
    jbbs.livedoor.jp/bbs/read.
    jbbs.shitaraba.net/bbs/read.
    # わいわいKakiko
    ([^/]++.|)60.kg/test/read.
    ([^/]++.|)60.kg/[^/]+/kako/([0-9]+/)+[0-9]+.html
    ([^/]++.|)kakiko.com/test/read.
    ([^/]++.|)kakiko.com/[^/]+/kako/([0-9]+/)+[0-9]+.html
    # 4-ch.net (Shift_JIS | UTF-8)
    ([^/]++.|)4-ch.net/
    # いちごびびえす
    www.ichigobbs.net/cgi/15bbs/
    # THE BBS
    ([^/]++.|)thebbs.jp/
    # MEGA BBS
    ([^/]++.|)megabbs.com/cgi-bin/readres.cgi
    # 1.5ch
    1.5ch.info/cgi-bin/1ch/cgi/read.cgi
    # 画箱
    ([^/]++.|)garon.jp/test/read.
    ([^/]++.|)garon.jp/[^/]+/kako/([0-9]+/)+[0-9]+.html
    # 2NN (SJIS)
    ([^/]++.|)2nn.jp/test/read.cgi
    # Blogban (SJIS)
    ([^/]++.|)blogban.net/test/read.cgi
    # @chs (UTF-8)
    #([^/]++.|)atchs.jp/test/read.cgi
    # fortalk (UTF-8)
    fortalk.net/thread/show/
    # next2ch (UTF-8)
    next2ch.net/[^/]+/[0-9]
    
    # ?
    ([^/]++.|)chbox.jp/
    ~p2.chbox.jp/
    
    # 2ch キャッシュ
    #orz.2ch.io/p/-/[^/]+/[^/]+/[0-9]
    mimizun.com/2chlog/
    makimo.to/[^?]++/[0-9]+.html
    #www.hozen.org/bbs/
    www.log-channel.net/bbs/[^/]+/[0-9]+/
    
    # まちBBS キャッシュ
    mimizun.com/machi/
    
    
    ### blog
    ## livedoor  HTMLレベルで異なるのですべてに対応するのは無理
    blog.livedoor.jp/[^/]+/archives/*.htm
    [^.]+.livedoor.biz/archives/*.htm
    

変更点・更新履歴


案2 Popup Anchorを使う Edit

http://wind.prohosting.com/proxmine/cgi-bin/uploader/download.cgi?PmU_0359.zip




添付ファイル: filerespopup.js 819件 [詳細]

複製名前変更