Scrapboxを自動スクロールするChrome拡張
Scrapboxを自動でスクロールして、ページ末尾まで来たらランダムにリンクをたどってジャンプする。
ページを開いたらしばらく止まってから、自動でスクロールする
下まで行ったら、リンクをたどってジャンプする
ジャンプ先はhoverとトップページからランダムで選ぶ
トップページがランダムジャンプ先に含まれてるので、少数のページだけがリンクしあっているところにはまっても適当な確率で脱出する
mousemoveかkeydownを検出したら1分間動作を止める(スクリーンセーバー的動作)
今はwindowからフォーカスが外れてても動作している。$(window).blurでフォーカスの有無を判断して止めた方がよい?
Scrapboxの自動スクロール自動ジャンプ拡張、なんかつながってないところにもジャンプするなと思ったら、見た目で7件しかリンクがないページでも.hoverや.page-list-itemは207個もあったりして、実際にリンクされているものはどうやって取得するのがよいのかな。一応、全部舐めて .is(':visible') で判断することは可能そうではある。
-----
2018-08-11感想
スクリーンセーバー的機能がいまいち
アニメーションが時間指定してその間継続する関係で即座には止まらない
止める方法は捜せばあるかもしれない
スクロールバーの操作がフォーカス当たったとみなされないためバーの引っ張り合いが発生する
1分で動き始めるのは、普段使いでは早すぎる
展示用と普段使い用は明らかに分けるべき
展示用=編集はしないイメージ
window.scrapbox以下にページの一覧はある
ver0.5
フォーカスが外れている時には停止する
さらに、フォーカスが外れて戻ったときにはページ遷移後と同じカウントダウンが発生するようにした
ver0.4
スクロールのバグを修正
たぶん「スクロールせずに全部が表示されてるページ」が表示された後、以降のページがすべてスクロールしないでページ遷移するようになる現象がある
直前のフレームとスクロール位置が同じだった場合に「もうスクロールできない=ページ末尾」と判定していたが、3秒間スクロールを試みることにした
リリースした
ver0.3
mousemoveかkeydownを検出したら1分間動作を止める
今までは「記憶している現在位置+200」にスクロールしていたが、「実際の現在位置+200」にスクロールするようにした。
ユーザがスクロールなどの操作をした後に、高速スクロールや逆スクロールが発生していたため
Chrome ウェブストアに登録できない問題が続いている。何がいけないのか。
(tokoroten) chromeストアは、ログインは任意のgoogleアカウントで出来るんだけど、ファイルのアップロードはprimaryのgoogleアカウントが利用されるため、そこでアカウントが違っていて、アップロードに失敗する
それだ!
しかし間違えてver0.2だ
-----
ver0.2
Chrome ウェブストアに登録しようとしたら
エラーが発生しました: アイテムを処理できませんでした。
Chrome ウェブストアでシステム エラーが発生しました。しばらくしてからもう一度お試しください。
と言われてしまったのでとりあえず待ってみる
将来的には、スクリーンセーバーみたいに、マウスやキーを動かしたら止まって、操作しないで放置するとまた動き出す、という感じがいいかもな
あと、とりあえずChrome拡張で作ったけど、iPadで表示しっぱなしとかやると面白いのでiOSでやる方法を考える