/* * @title (未完成)Wizball の詳細ページを保存用に、ちょっといじる * @description (未完成)Wizball の詳細ページを保存用に、ちょっといじる * @include https://m.wizball.io/questions/* * @license MIT License http://opensource.org/licenses/MIT * @javascript_url * */ /* ・コメントを全て展開して、全文表示されるようにした ・コメントにアイコンをつけた ・Voter のアイコンを表示するようにした ・投稿時刻を日時にした ・下部の「人気の質問」を消した ・表示幅を、最大 640px にした */ (async _ => { const d_ = document; if (location.hostname != "m.wizball.io") { alert("Please use at m.wizball.io !"); return; } async function display_comments() { console.log("!!! load comments !!!"); const list = d_.querySelectorAll(".comment_list"); for (let i = 0 ; i < list.length ; ++i) { const first_item = list[i].querySelector(".comment_txt"); if (! first_item) { // 質問はコメントがなくても UL 要素がある continue; } const orig_url = first_item.href; const url_base = orig_url.replace(/questions/, "apis/v1/questions"); const comments = []; let page = 1; while (true) { const url = url_base + "?page=" + page + "&size=50&sort=LATEST"; const resp = await fetch(url); const json = await resp.json(); if (json.length > 0) { comments.push(... json); page += 1; } else { break; } } console.log(comments); list[i].innerHTML = ""; comments.forEach(c => { let img; if (c.author.image) { img = [ '' ].join(""); } else { img = ''; } const item = Object.assign(d_.createElement("li"), { className: "comment_item", innerHTML: [ '