/* * @title =A! * @description Hatena Antenna force bulk checker * @include http://a.hatena.ne.jp/HATENA_ID/checklist * @contributor noromanba http://let.hatelabo.jp/noromanba/let/hLHUksLx6YMy * @license MIT License https://opensource.org/licenses/MIT * @javascript_url * @private waiting review */ // TODO // - try-catch // - server safe interval, avoid (D)DoS // login required (() => { 'use strict'; document.body.querySelectorAll([ 'a[href^="./editpage?cid="]', ]).forEach(async content => { const headers = new Headers(); headers.set('Content-Type', 'text/html;charset=euc-jp'); const edit = await fetch(content.href, { // needs cookie credentials: 'same-origin', // XXX ignoring charset headers, }); const txt = await edit.text(); // TBD DOMParser() const url = (txt.match(/^