« [pixiv] イベントページ用画像直リンフィルタ | トップページ | 【ニコニコ生放送(タイムシフト用)】再生時間指定でシーク »

2011年10月12日 (水)

[popThumb] Nicovideo: thumbnail Pop

動画説明文のリンク他にカーソル合わすとpopupするアレ。(nicocache_nlから)

nicocache_nlを使っているならば、この記事は無視して

http://crus.biz/nicocache_nl/index.php?Install#content_1_8

から導入。

Nico00001

・7つのフィルタと3つのファイルをDL

 

1,ポップアップするようにリンクを変更(Nicovideo: thumbnail Popがあったら置き換え)

[Patterns]
Name = "Nico : thumbnail Pop  [11/10/12]"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)[^/]++.nicovideo.jp/(^cache_youtube/)|ext.nicovideo.jp/api/getthumbinfo/"
Limit = 1024
Match = "$NEST(<(a|iframe)\9,\s"
        "([^>]++(href|src)=$AV("
        "(*http://(^blog)[^/]++.nicovideo.jp/"
        "|http://nico.ms/"
        "|http://www.nicozon.net/"
        "|http://rd.nicovideo.jp/cc/[^/]+/"
        "|http://rd.nicovideo.jp/cc/[^/]+/[^?]+\?"
        "|$URL(http://[^/]++.nico(video|chart).jp/).+/+"
        "|*http%3A%2F%2Fwww.nicovideo.jp%2Fwatch%2F"
        ")"
        "((watch/|cc_live_id=|gate|)$SET(\1=embed)(lv[0-9]+{1,*})\2"
        "|(watch/|seiga/|cc_video_id=|thumb(/|[?]v=)|)(^lv|co|ch)$SET(\1=thumb)([0-9a-z]+{2}[0-9]+{1,*})\2"
        "|ppv_video/ch[^/]+/$SET(\1=thumb)(so[0-9]+{1,*})\2"
        "|(thumb_|)mylist/$SET(\1=thumb_mylist)([0-9]+{1,*})\2"
        "|(community|watch)/$SET(\1=thumb_community)(co[0-9]+{1,*})\2"
        "|(channel/|)$SET(\1=thumb_channel)(ch[0-9]+{1,*})\2"
        "|(user/|myvideo/|cc_user_id=)$SET(\1=thumb_user)([0-9]+{1,*})\2"
        "|./ids?data=$SET(\1=thumb)([0-9a-z]+{2}[0-9]+{1,*})\2\&(amp;)+b"
        "|./ids?mylist=$SET(\1=thumb_mylist)([0-9]+{1,*})\2"
        "|http://dic.nicovideo.jp/(v|a/watch)/$SET(\1=thumb)([a-z]+{2}[0-9]+{1,*})\2"
        "|(tag|search_video|search$URL(http://live.nicovideo.jp/watch/lv))/"
        "($SET(\1=thumb_mylist)[^"]++mylist%2f([0-9]+{1,*})\2"
        "|$SET(\1=thumb)([^"]++%?[0-9]|[^"]++)((sm|nm|so|ca|ax|yo|nl|ig|na|cw|z[a-e]|om|sk|yk|fz|sg|im|mg)[0-9]+{1,15}|[0-9]+{9,15})\2"
        "|$SET(\1=thumb_community)([^"]++%?[0-9]|[^"]++)(co[0-9]+{1,*})\2"
        "|$SET(\1=embed)([^"]++%?[0-9]|[^"]++)(lv[0-9]+{1,*})\2"
        ")"
        ")"
        "(^/(^video))*)"
        "*)\0,>)"
        "$URL(^http://[^/]+/(user|watch|embed|thumb(_[^/]+|))/$TST(\2)(^[0-9]))"
        "(^$TST(\2=nw*))"
        "(^$TST(\2=(sg|im|mg)*)$URL(http://seiga.nicovideo.jp/))"
Replace = "<\9 \0 onMouseOver="return popThumb('\1/\2', 0)" onMouseOut="return nd();">"

 

2,cssファイルとjsファイルをページに設置

[Patterns]
Name = "Nico : popthumb_FA"
Active = TRUE
URL = "$TYPE(htm)(^*.js)[^/]++.nicovideo.jp/"
Limit = 8
Match = "(^(^</body))"
        "(^$TST(in_script=1))"
Replace = "$STOP()"
          "<div id="nico_popThumb_container"></div>"
          "<link rel="stylesheet" type="text/css" href="http://local.ptron/popThumb_FA.css?$DTM(YMDHms)" />"
          "<script type="text/javascript"><!--\r\n"
          "if(!location.href.match(".nicovideo.jp/|youtube") && typeof popThumb != 'undefined'){"
          " window.setTimeout(function () {"
          "//  alert('popThumb is already defined. But now overwrite!');\n"
          " }, 10);"
          "}"
          "\r\n"
          "//--></script>"
          "<script type="text/javascript" src="http://local.ptron/popThumb_FA.js?$DTM(YMDHms)"></script>"

 

3,mylistページは特殊なので、マイリスト専用フィルタ

[Patterns]
Name = "Nico : thumbnail Pop : Mylist Page"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)www.nicovideo.jp/(mylist/|my/mylist)"
Limit = 128
Match = "<a href=$AV(user/({$[a-z]*)\0)>"
        "$SET(#=<a href="user/\0" "
        "onMouseOver="return popThumb('thumb_user/\0',0)" onMouseOut="return nd();">)"
        "|"
        "(<a href="/+watch/{$item.item_data.watch_id\|escape:url}")\0(>|[^>]++class=$AV(vinfo_title|watch)$STOP())\1"
        "$SET(#=\0 onMouseOver="return popThumb('thumb/{$item.item_data.watch_id|escape:url}',0)" onMouseOut="return nd();"\1)"
Replace = "\@"

 

4,生放送の情報ページを変更

[Patterns]
Name = "Nico live: title 2 text  [ popThumb_FA ]"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)live.nicovideo.jp/embed/lv*\?pop_FA"
Limit = 8192
Match = "(<img\s[^>]++class="denpa")\#"
        "$SET(#= style="height:50px; width:auto;")"
        "|"
        "(<h2><a\s[^>]++title=$AV(\0)[^>]+>)\#"
        "$SET(#=\0)"
        "[^<]+"
        "|"
        "$NEST(<p,\sclass="small"  title=$AV("
        "$SET(#= <p class="small" style="word-break:break-all;">)"
        "(\#[\r\n]+{1,*}$SET(#=<br />))+\#"
        ")>*,</p>)"
        "$SET(#=</p>)"
        "|"
        "$NEST(<span,\sclass="community"  title=$AV(\0)>*,</span>)"
        "$SET(#= <span class="community">\0</span>)"
Replace = "\@"

 

5,URLや動画IDなどリンク化

[Patterns]
Name = "Nico : description Link [11/07/07]"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)(www|ext|com|live|seiga|ch).nicovideo.jp/(^(my/|)mylist(^_search/))|ext.nicovideo.jp/api/getthumbinfo/"
Limit = 2048
Match = "("
        "(<(p|span)\8 class="group_description">$SET(desc_tag=\8)"
        "|<p class=$AV(font1[02]|vinfo_description|vinfo_last_res)[^>]+>$SET(desc_tag=p)"
        "|<td width="100%" class="font12" style="background:#FFF;">$URL(http://\h/watch)$SET(desc_tag=td)"
        "|<(span|strong)\8 class="search_word"[^>]+>$URL(http://\h/(search|tag)/)$SET(desc_tag=\8)"
        "|<div class="video_res">$URL(http://ext.)$SET(desc_tag=div)"
        "|</p>\s<p class="TXT10"[^>]+>$URL(http://ext.)$SET(desc_tag=p)"
        "|</strong><br>\s$URL(http://\h/openlist/)$SET(desc_tag=td)"
        ""
        "|<span class="fullIntro">$URL(http://\h/user/)$SET(desc_tag=span)"
        "|<div class="intro"> <p>(^ <span class=$AV(*intro))$URL(http://\h/user/)$SET(desc_tag=p)"
        "|<div class="report">*<p>$URL(http://\h/user/)$SET(desc_tag=p)"
        "|<li> <h4>*<p>$URL(http://www.nicovideo.jp/user/[0-9]+/mylist)$SET(desc_tag=p)"
        ""
        "|<p\s$URL(http://seiga.*/bbs/)[^>]++class=$AV(theme_comment)[^>]+>$SET(desc_tag=p)"
        "|<div\s$URL(http://seiga.)[^>]++class=$AV(illust_user_exp)[^>]+>$SET(desc_tag=div)"
        ""
        "|<div class="cnt2"[^>]+>$URL(http://com.*/community/)$SET(desc_tag=div)"
        "|</h3>\s<p>$URL(http://com.*/video/)$SET(desc_tag=p)"
        "|<p class="videoResBody">$URL(http://com.*/video/)$SET(desc_tag=p)"
        "|<(div|p)\8 class="desc">$URL(http://com.)$SET(desc_tag=\8)"
        ""
        "|<fieldset class="videoDescription">$URL(http://ch.nicovideo.jp/)$SET(desc_tag=fieldset)"
        ""
        "|<div id="stream_description"$URL(http://live.nicovideo.jp/)$SET(desc_tag=div)"
        "|<div class="bgm stream_description"$URL(http://live.nicovideo.jp/gate/)$SET(desc_tag=div)"
        "|<(span|p)\8\s[^>]+>$URL(http://live.nicovideo.jp/embed/lv)$SET(desc_tag=\8)"
        ""
        "|<(description|last_res_body)\8>$URL(http://\h/api/getthumbinfo/)$SET(desc_tag=\8)"
        "|<tag(\s[^>]+|)>$URL(http://\h/api/getthumbinfo/)$SET(desc_tag=tag)"
        ""
        "|</[^>]+>$TST(desc_tag=?*)"
        "|<!--[^>]++-->$TST(desc_tag=?*)"
        "|<(br|font|b|u|pre)(^(^\s|>|/))[^>]+>$TST(desc_tag=?*)"
        ")"
        "(^$TST(in_script=1))"
        "[^<]++"
        ")\0"
        "("
        "(h+ttp://www.nicovideo.jp/|/|)watch/([0-9]+{1,10})\1(\?eco=1|)\2"
        "$SET(9=<a href="http://www.nicovideo.jp/watch/\1\2" class="watch" target="_top" style="color:blue;">watch/\1\2</a>)"
        "|(h+ttp://www.nicovideo.jp/|/|)mylist/([0-9]+/|)\1([0-9]+{1,8})\2"
        "$SET(9=<a href="http://www.nicovideo.jp/mylist/\2" target="_top">mylist/\1\2</a>)"
        "|(h+ttp://www.nicovideo.jp/|/|)user(/[0-9]+|)(/[0-9]+{1,8})\2"
        "$SET(9=<a href="http://www.nicovideo.jp/user\2" target="_top">user\2</a>)"
        "|(h+ttp://www.nicovideo.jp/|/|)myvideo(/[0-9]+|)(/[0-9]+{1,8})\2"
        "$SET(9=<a href="http://www.nicovideo.jp/user\2/video" target="_top">myvideo\2</a>)"
        "|(h+ttp://com.nicovideo.jp/community/|community/|)(co[0-9]+{1,6})\1"
        "$SET(9=<a href="http://com.nicovideo.jp/community/\1" style="color:orange;" target="_top">\1</a>)"
        "|(h+ttp://ch.nicovideo.jp/channel/|channel/|)(ch[0-9]+{1,5})\1"
        "$SET(9=<a href="http://ch.nicovideo.jp/channel/\1" style="color:orange;" target="_top">\1</a>)"
        "|(h+ttp://www.nicovideo.jp/watch/|watch/|)(sm|nm|so|ca|ax|am|fz|yo|nl|ig|na|cw|z[a-e]|om|sk|yk)\1([0-9]+{1,8})\2(\?eco=1|)\3"
        "$SET(9=<a href="http://www.nicovideo.jp/watch/\1\2\3" class="watch" target="_top">\1\2\3</a>)"
        "|([0-9]+{9,*})\1(\?eco=1|)\2"
        "$SET(9=<a href="http://www.nicovideo.jp/watch/\1\2" class="watch" target="_top">\1\2</a>)"
        "|(h+ttp://live.nicovideo.jp/watch/|watch/|)(lv[0-9]+{1,8})\1"
        "$SET(9=<a href="http://live.nicovideo.jp/watch/\1" class="watch" target="_top">\1</a>)"
        "|(h+ttp://seiga.nicovideo.jp/watch/|watch/|)(sg|mg)\1([0-9]+{1,8})\2"
        "$SET(9=<a href="http://seiga.nicovideo.jp/watch/\1\2" class="watch" target="_top">\1\2</a>)"
        "|(h+ttp://seiga.nicovideo.jp/seiga/|seiga/|)(im)\1([0-9]+{1,8})\2"
        "$SET(9=<a href="http://seiga.nicovideo.jp/seiga/\1\2" target="_top">\1\2</a>)"
        "|(h+t+(ps+://((^...</$TST(desc_tag)>)(^http://$SET(5= ))[a-z0-9:./?!&\-~#=_%;+])+{2,*})\1)\2"
        "$SET(9=<a href="htt\1" target="_top" style="color:red;">\2</a>\5)"
        "|(www[0-9]+.(^.. <)((^... </$TST(desc_tag)>)(^http://$SET(5= ))[a-z0-9:./?!&\-~#=_%;+])+{2,*})\1"
        "$SET(9=<a href="http://\1" target="_top" style="color:red;">\1</a>\5)"
        "|</$TST(desc_tag)>$SET(desc_tag=) \s\s"
        ")"
Replace = "\0\9"

 

6,$FILTER(true)のフィルタ

$FILTER(true)のフィルタが既に存在するなら以下のURLを追記

ext.nicovideo.jp/api/getthumbinfo/

無いならこれ↓とか。

[HTTP headers]
In = TRUE
Out = FALSE
Key = "URL:   $FILTER(true)  nicovideo"
URL = "ext.nicovideo.jp/api/getthumbinfo/$FILTER(true)"

 

7,クロスドメイン通信できるように。

[HTTP headers]
In = FALSE
Out = TRUE
Key = "URL: Redirect  [CrossDomain]    [GetOwnerName & others]"
Match = "http://[^/]+/pr_Redirect_(^local.ptron/(^popThumb_FA_iframe.html))\0"
Replace = "$RDIR(http://\0)"

8,htmlフォルダへファイル保存

「popThumb_FA.js」をダウンロード

※nicocache_nlを使ってない人は、js内の
popThumb.use_NicoCache_nl = true;
をfalseに変更。

「popThumb_FA.css」をダウンロード

「popThumb_FA_iframe.html」をダウンロード

|

« [pixiv] イベントページ用画像直リンフィルタ | トップページ | 【ニコニコ生放送(タイムシフト用)】再生時間指定でシーク »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: [popThumb] Nicovideo: thumbnail Pop:

« [pixiv] イベントページ用画像直リンフィルタ | トップページ | 【ニコニコ生放送(タイムシフト用)】再生時間指定でシーク »