コトバノウタカタ

よしなしごとをつらつらとつづるばしょ。

Amazon Prime Video もうすぐ終了確認

Amazon Prime Videoのもうすぐ終了する作品をチェックするbookmarklet。何度か書いてきたけど、また更新。左上にカウント数が出ます。

javascript:var d = document; dv = d.getElementsByClassName('dv-packshot'); var cnt = dv.length; var cnttg = document.createElement('div'); cnttg.textContent = cnt; d.getElementsByClassName('DigitalVideoUI_Landmark__landmark')[0].appendChild(cnttg); for (i = 0; i < dv.length; i++) { aa = dv[i].getElementsByClassName('DigitalVideoWebNodeLists_Item__core')[0]; nm = aa.getAttribute('aria-label'); asin = aa.getAttribute('data-asin'); ln = 'https://www.amazon.co.jp/s/ref=nb_sb_noss_2?__mk_ja_JP=カタカナ&url=node%3D4217521051&field-keywords=' + encodeURIComponent(nm); var req = new XMLHttpRequest(); rm = dv[i].getElementsByClassName('DigitalVideoWebNodeLists_Item__itemActions')[0]; req.rm = rm; req.ln = ln; req.onreadystatechange = function () { if (this.readyState == 4 && this.status == 200) { rf = this.responseXML.getElementById("refinementsOnTop"); if (rf != null) { lt = this.responseXML.getElementById("atfResults").getElementsByTagName("li"); if (lt.length > 0) { a = d.createElement('a'); a.href = this.ln; a.textContent = '終了確認'; a.setAttribute('target', '_blank'); dv = d.createElement('div'); dv.appendChild(a); this.rm.parentNode.appendChild(dv); } } cnt--; cnttg.textContent = cnt; } }; req.open('GET', ln, true); req.responseType = "document"; req.send(null); };

終了じゃない作品を非表示にするバージョン。

javascript: var d = document; dv = d.getElementsByClassName('dv-packshot'); var cnt = dv.length; var cnttg = document.createElement('div'); cnttg.textContent = cnt; d.getElementsByClassName('DigitalVideoUI_Landmark__landmark')[0].appendChild(cnttg); for (i = 0; i < dv.length; i++) { aa = dv[i].getElementsByClassName('DigitalVideoWebNodeLists_Item__core')[0]; nm = aa.getAttribute('aria-label'); asin = aa.getAttribute('data-asin'); ln = 'https://www.amazon.co.jp/s/ref=nb_sb_noss_2?__mk_ja_JP=カタカナ&url=node%3D4217521051&field-keywords=' + encodeURIComponent(nm); var req = new XMLHttpRequest(); rm = dv[i].getElementsByClassName('DigitalVideoWebNodeLists_Item__itemActions')[0]; req.rm = rm; req.ln = ln; req.onreadystatechange = function () { if (this.readyState == 4 && this.status == 200) { rf = this.responseXML.getElementById("refinementsOnTop"); var hit = false; if (rf != null) { lt = this.responseXML.getElementById("atfResults").getElementsByTagName("li"); if (lt.length > 0) { a = d.createElement('a'); a.href = this.ln; a.textContent = '終了確認'; a.setAttribute('target', '_blank'); dv = d.createElement('div'); dv.appendChild(a); this.rm.parentNode.appendChild(dv); hit = true; } } if (hit == false) { this.rm.parentNode.style.display = "none"; } cnt--; cnttg.textContent = cnt; } }; req.open('GET', ln, true); req.responseType = "document"; req.send(null); };