abema_update_check
by
jigendaddy
2018-11-15 [2018/11/15 12:09:17]
try to take over the world!
@@ -8,24 +8,41 @@
// @match https://abema.tv/video/title/*
// @grant none
// ==/UserScript==
-var result = document.evaluate('//div[@role="listitem"]//a[not(.//img)]', document, null, 7, null);
+var result = document.evaluate('//div[@role="listitem"][.//img]//a[not(.//img)]', document, null, 7, null);
var flag = 0;
-for (var i = 0; i < result.snapshotLength; i++) {
- var n_url = result.snapshotItem(i).href;
- var l_url = localStorage.getItem('check_update');
- if (n_url == l_url) {
- flag = 1;
- if (i == 0) {
- alert("更新はありません");
- break;
- } else {
- alert(i + "本の更新があります");
- localStorage.setItem('check_update', n_url);
- break;
+if (!("update_time" in localStorage)) {
+ var now1 = Math.floor((new Date).getTime() / 1000);
+ localStorage.setItem('update_time', now1);
+ localStorage.setItem("check_update", result.snapshotItem(0).href);
+ alert("最終更新動画をチェック対象に設定しました");
+} else {
+ var now2 = Math.floor((new Date).getTime() / 1000);
+ var l_update_time = Number(localStorage.getItem('update_time'));
+ if (now2 - l_update_time > 24 * 60 * 60) {
+ for (var i = 0; i < result.snapshotLength; i++) {
+ var n_url = result.snapshotItem(i).href;
+ var l_url = localStorage.getItem('check_update');
+ if (n_url == l_url) {
+ flag = 1;
+ localStorage.setItem('update_time', now2);
+ if (i == 0) {
+ alert("更新はありません");
+ break;
+ } else {
+ alert(i + "本の更新があります");
+ localStorage.setItem('check_update', result.snapshotItem(0).href);
+ break;
+ }
+ }
+ }
+ if (flag == 0) {
+ alert("20本以上の更新があります");
+ localStorage.setItem('update_time', now2);
+ localStorage.setItem('check_update', result.snapshotItem(0).href);
}
+ } else {
+ var sec = now2 - l_update_time;
+ alert("前回の更新から" + sec + "秒が経過しています");
+ localStorage.setItem('update_time', now2);
}
-}
-if (flag == 0) {
- localStorage.setItem("check_update", result.snapshotItem(0).href);
- alert("20本以上の更新があります");
}
// ==UserScript==
// @title abema_update_check
// @name abema_update_check
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://abema.tv/video/title/*
// @grant none
// ==/UserScript==
var result = document.evaluate('//div[@role="listitem"][.//img]//a[not(.//img)]', document, null, 7, null);
var flag = 0;
if (!("update_time" in localStorage)) {
var now1 = Math.floor((new Date).getTime() / 1000);
localStorage.setItem('update_time', now1);
localStorage.setItem("check_update", result.snapshotItem(0).href);
alert("最終更新動画をチェック対象に設定しました");
} else {
var now2 = Math.floor((new Date).getTime() / 1000);
var l_update_time = Number(localStorage.getItem('update_time'));
if (now2 - l_update_time > 24 * 60 * 60) {
for (var i = 0; i < result.snapshotLength; i++) {
var n_url = result.snapshotItem(i).href;
var l_url = localStorage.getItem('check_update');
if (n_url == l_url) {
flag = 1;
localStorage.setItem('update_time', now2);
if (i == 0) {
alert("更新はありません");
break;
} else {
alert(i + "本の更新があります");
localStorage.setItem('check_update', result.snapshotItem(0).href);
break;
}
}
}
if (flag == 0) {
alert("20本以上の更新があります");
localStorage.setItem('update_time', now2);
localStorage.setItem('check_update', result.snapshotItem(0).href);
}
} else {
var sec = now2 - l_update_time;
alert("前回の更新から" + sec + "秒が経過しています");
localStorage.setItem('update_time', now2);
}
}
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。