CosenseのUserScriptで表示しているページの本文を取得する
アプローチは二つ
APIを叩く
Cosenseオブジェクトを使う
API
https://scrapbox.io/api/pages/projectName/pageName
例
https://scrapbox.io/api/pages/rashitamemo/Cosense%E3%81%AEUserScript%E3%81%A7%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E6%9C%AC%E6%96%87%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B
こういうURLをfetchして、response.json()してそのlinesを処理する
本文だけでいいなら、/api/pages/:projectName/:pageTitle/text
https://scrapbox.io/api/pages/rashitamemo/Cosense%E3%81%AEUserScript%E3%81%A7%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E6%9C%AC%E6%96%87%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B/text
Cosenseオブジェクト
Cosenseを表示しているページでは、cosenseオブジェクトが定義されている(旧scrapboxオブジェクト)
console.log(cosense)してみるとわかる
cosense.Pageには、表示しているそのページの情報が格納されている
cosense.Page.titleならタイトル
cosense.Page.linesなら本文の情報
linesの中身はapiを叩いて返ってくるものと同じでオブジェクトになっている
0: Object { id: "68b3a0322417e97cc5a2e4b2", text: "CosenseのUserScriptで表示しているページの本文を取得する", userId: "58b8dbe98fe62500119dc7d8", … }のようなものが並んでいるので、text部分を取得していけばいい
UserScript
ref.
/help-jp/API