↓ ↑ページトップへ
表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
PR
3/7

とりあえずのメモ

 小説ページでは、表示エピが栞エピより後であれば、htmlコンテンツに次のタグが挿入される。

<input type="hidden" name="auto_siori" data-url="https://syosetu.com/favnovelmain/shioriupdateapi/" data-no="71" data-favno="70" data-primary="xxxxxxx_xxxxxx" data-token="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx">

多分、primaryは小説のIDを含む値。tokenは毎回変わるかな。

 このタグは2か所に挿入されている。


 実際にこのタグを利用しているのは、novel_bookmarkmenu.jsの中。jQueryの$(function(){})の中で、auto_sioriが存在し、noがfavnoより後であればurlの内容にアクセスして、栞を更新している。知らなかったけれどw jQueryのdata関数は、parseしたものを返しているので、この場合にはちゃんとint型が返って通常比較でも問題が無い。文字列比較になるかと思った。なので、ここに配列やらオブジェクトやらを書いても動くらしい。でも最近はjQueryは流行りじゃないようだけれど。


 さて、拡張機能のcontent_scriptsはrun_atをdocument_endに指定しておけば、html本体のonloadより優先して実行されるようだ。だから、auto_sioriが存在するかどうかを確認し、存在していてnoがfavno+1より大きければ、当該タグのnameを変更することで、前話1の自動栞更新を止めることが出来る。

 これだけでも、ずいぶんと状況は改善されそうな気がする。


 あとは、自動更新の遅延だけれど、Intersection Observer APIを使えば実現できるかも??

でも、モバイルのedgeで使う場合にはストアに正式に公開しないといけないんだろうなあ。

メモを追加。

作品のBMをして、個別EPのBMが入っていない状況では、data-favnoには0が入る。このため、個別BMが未設定の場合でも、アルゴリズムに修正を加える必要はなし。

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
[一言]  うむ。(わかったふり)  方法論としての改善策と、実際のプログラムの実現性はちがうのですね(汗)
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。