Skip to content

Instantly share code, notes, and snippets.

@fushihara
Created August 16, 2014 08:59
Show Gist options
  • Select an option

  • Save fushihara/717a9538efc18fb7c44e to your computer and use it in GitHub Desktop.

Select an option

Save fushihara/717a9538efc18fb7c44e to your computer and use it in GitHub Desktop.
animetick.netに各局の放送日時を表示するボタンを追加するTampermonkey用userScript.js
// ==UserScript==
// @name animetick(トップ画面)
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description enter something useful
// @match http://animetick.net/*
// @copyright 2012+, You
// ==/UserScript==
disableChIds=[
8,//tvk
14,//テレ玉
28,//テレビ大阪
35,//ラジオ大阪(1314)
36,//KBS京都(1143)
37,//RCC中国放送(1350)
38,//ABCラジオ(1008)
48,//MBS毎日放送
49,//NHKラジオ第一
54,//読売テレビ
58,//サンテレビジョン
59,//テレビ愛知
60,//テレビ新広島
66,//KBS京都
67,//ABCテレビ
70,//関西テレビ
72,//群馬テレビ
74,//奈良テレビ
77,//東海テレビ
79,//CBCテレビ
80,//中京テレビ
81,//メ~テレ
82,//三重テレビ
83,//ぎふチャン
86,//テレビ和歌山
87,//BBCびわ湖放送
88,//北海道テレビ放送
89,//北海道放送
90,//テレビ北海道
91,//北海道文化放送
92,//札幌テレビ放送
93,//TVQ九州放送
94,//RKB毎日放送
95,//テレビせとうち
96,//福岡放送
98,//東北放送
99,//広島ホームテレビ
100,//とちぎテレビ
102,//中国放送
103,//広島テレビ
104,//岡山放送
105,//山陽放送
111,//テレビ信州
113,//SBSテレビ
114,//南海放送
115,//テレビ愛媛
116,//あいテレビ
117,//愛媛朝日テレビ
118,//i-revo
120,//@nifty
123,//瀬戸内海放送
124,//西日本放送
125,//テレビ山口
126,//山口放送
127,//山口朝日放送
129,//TwellV
130,//角川アニメチャンネル
133,//ラジオ関西(558)
134,//MBSラジオ(1179)
138,//九州朝日放送
139,//東海ラジオ(1332)
140,//南海放送(1116)
141,//テレビ静岡
142,//熊本放送
143,//アニメワン
144,//テレビ西日本
145,//サガテレビ
146,//北陸朝日放送
147,//北陸放送
148,//福井放送
149,//福井テレビ
154,//だいいちテレビ
155,//静岡朝日テレビ
156,//超!A&G+
157,//アニメNewtypeチャンネル
162,//TOKYO FM(80.0)
164,//Music Japan TV
166,//bayfm(78.0)
167,//TAKARAZUKA SKY STAGE
168,//長崎放送
169,//長崎文化放送
170,//テレビ長崎
171,//長崎国際テレビ
172,//テレビ金沢
176,//旅チャンネル
177,//テレビドガッチ
180,//InterFM(76.1)
181,//福井さかいケーブルテレビ
182,//USTREAM
183,//中部日本放送(1053)
184,//ZIP-FM(77.8)
185,//レディオキューブFM三重(78.9)
186,//FM AICHI(80.7)
188,//NACK5(79.5)
189,//bayfm78(78.0)
190,//FMヨコハマ(84.7)
191,//ラジオ日本(1422)
195,//NHKラジオ第二
198,//青森放送
199,//青森朝日放送
200,//青森テレビ
201,//琉球放送
202,//琉球朝日放送
203,//沖縄テレビ
206,//BSN
207,//TeNY
208,//新潟テレビ21
209,//NST
210,//DMM.com
-1
];
//top画面において、各アニメのタイトルをクリックした時のイベントを仕込む
$(".ticket_title").click(function(e){
var id=e.currentTarget.id;
var match=id.match(/anime_(\d+)_(\d+)/);
if(match==null){
return;
}
if($(e.currentTarget).data("checked")!=null){
return;
}
$(e.currentTarget).data("checked",true);
var titleId=match[1];
var count=match[2];
setTimeout((function(titleId){
return function(){
onAnimeTitleClick(titleId);
};
})(titleId),1000);
});
//作品個別ページ http://animetick.net/anime/3319 で各サブタイの要素にしょぼかるボタンを追加する
(function(){
//tid取得
var m=window.document.URL.match(/\/anime\/(\d+)/);
if(m==null){return;}
var tid=m[1];
var divArea=$("div.episode");
jQuery.each(divArea, function(i, v) {
var linkUrl=$(v).find(".sub_title>a").attr("href");
var m,episodeNo;
m=linkUrl.match(/\/ticket\/\d+\/(\d+)/);
if(m==null){return;}
episodeNo=m[1];
var button=$("<button>").attr("class","episode_watch button").attr("style","width:2em;").data("tid",tid).data("episode",episodeNo).text("s");
$(v).append(button);
button.click(function(e){
$.ajax({
type: "get",
url: "http://cal.syoboi.jp/json.php",
data: "Req=ProgramByCount,TitleMedium,ChFilter,SubTitles,UPS&UserInfo=1&TID="+$(e.currentTarget).data("tid")+"&Count="+$(e.currentTarget).data("episode"),
dataType :"jsonp",
success: function(msg){
insertBroadcastDiv(button,msg);
button.attr('disabled', true);
}
});
});
});
})();
//アニメのサブタイ一覧が表示された前提で、しょぼかるボタンを仕込む
function onAnimeTitleClick(titleId){
var targetElements=$("#anime_p_"+titleId+" .episode");
jQuery.each(targetElements, function(i, v) {
var count=v.id.match(/.+_(\d+)$/)[1];
var button=$("<button>").attr("class","episode_watch button").attr("style","width:2em;").data("tid",titleId).data("episode",count).text("s");
$(v).append(button);
$(v).find(".episode_watch_here").remove();
button.click(function(e){
$.ajax({
type: "get",
url: "http://cal.syoboi.jp/json.php",
data: "Req=ProgramByCount,TitleMedium,ChFilter,SubTitles,UPS&UserInfo=1&TID="+$(e.currentTarget).data("tid")+"&Count="+$(e.currentTarget).data("episode"),
dataType :"jsonp",
success: function(msg){
insertBroadcastDiv(button,msg);
button.attr('disabled', true);
}
});
});
});
}
function insertBroadcastDiv(baseDom,syoboData){
//データを並び替える
var programDatas=[];
for(var pid in syoboData.Programs){
programDatas.push(syoboData.Programs[pid])
}
programDatas.sort(function(a,b){return a.StTime-b.StTime;});
//htmlを作る
var html="";
for(var i=0;i<programDatas.length;i++){
var programData=programDatas[i];
var isActiveChannel=true;
if(disableChIds.indexOf(programData.ChID-0)!=-1){
isActiveChannel=false;
}
html+=isActiveChannel?"<span style=\"color:red;\">":"";
html+=new Date(programData.StTime*1000).toLocaleString();
html+=" ";
html+=programData.ChName;
html+=isActiveChannel?"</span>":"";
html+="<br>";
}
$("<div>"+html+"</div>").insertAfter(baseDom);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment