AutoPagerlike: Sleipnir+SeaHorse版 AutoPagerize(もどき)
■SeaHorseスクリプト(Sleipnir専用) これで、とりあえず Google はじめ、いくつかのサイトでページの追加表示が可能となりました。
設定ファイルを独立させました。
これは、本体と同じところ(デフォルト:C:\Program Files\Fenrir & Co\Sleipnir\plugins\seahorse)に置いておきます。
ユーザがローカルでSITEINFOを追加したい場合などは、このファイル(!!autopageroptions.user.js)を書き替えます。
AutoPagerize作者のid:swdyh さん、すばらしいツールを世に出してくださってありがとうございます。
id:amachangさん、IE系ブラウザでも簡単に使えて高速に動作する XPath 実装を公開してくださって感謝します。
- 公式サイト:AutoPagerize – Userscripts.org
- SITEDATA:AutoPagerize (swdyh)
- スクリプト更新情報
- オリジナルにはついているメニューは未作成。時間があれば、作るかも。
というか、停止がないと、下の方にメニューやリンクがあるサイトだと大変だということにさっき気付いた(笑)
- 【2008/3/30】メニューを追加。とりあえず、機能のON/OFFは出来るようになった。
- SITEINFOデータの取得方法。Greasemonkeyならドメイン越えてページが取得出来るみたいなのだが、SeaHorseではやり方がわからない……。
→JSONPに変換して取得するようにした。なのでリアルタイムではない。定期的な自動更新しようかと思ったが、オリジナルのページが大人気のせいか重くて取得出来ないことも多く、ちょっと危険なのでしばらく手動で様子見。- 【2008/3/30】JSONPデータは1時間毎に更新するようにした。
- SITEINFOはXPathが使われているので、そのままではIE系では使えない。
→ActiveXObject("MSXML2.DOMDocument")を使ってXML→HTMLのオブジェクトマップを作って対応しようとしたが、HTMLをloadXML()に通せるようなXMLファイルへと整形するのがやたら面倒。一応作ってはみたが、処理時間もかかるしで断念。
→結局、素直にJavaScript XPath(http://coderepos.org/share/wiki/JavaScript-XPath)を使うようにした。最初からそうすればよかったなぁ……。 -
XMLHttpRequestで取得したresponseTextから要素を切出す方法もしばし悩む……document.implementation.createDocument()って、IEになかったよなぁ……。
→よく使っている、div要素に流し込む方法だと、JavaScript XPathでちゃんと要素の取得が出来ない(やり方悪いだけかもしれないけれど)。
→で、iframe要素のcontentWindow.documentをopen()して、write()することに。これならJavaScript XPathで指定した要素が正しく取れる。
→取れた要素は今度は親document配下には追加出来ない……仕方なく、一旦outerHTMLから要素を作りなおしたものを追加するようにした。もっとスマートな方法があるんだろうなぁ……。- 【2008/3/22】iframeの代わりにActiveXObject('htmlfile')を使用するようにした。
- ページによってはXMLHttpRequestで取得したresponseTextが文字化けしてしまう……orz。
→仕方がないので、document.charsetがutf-8以外なら、iframeのsrcで読ませることにした。ページの読込みが完了しないとcompleteにならないのと、ナビゲーション開始音がうざいけれども(音の方はコントロールパネルで消せばよいが)。- 【2008/3/22】UTF-8以外はsleipnir.CreateObject('ADODB.Stream')を使用して変換(ActiveXObject("ADODB.Stream")はNG)。
2008/03/20(木) 06:36 | 固定リンク
| 記事の編集(管理者用)
「おもいつき」カテゴリの記事
- ちょっと小細工:textareaの高さを自動調節(2008.05.21)
- Yin and Yang:動作改善(?)他(2008.05.14)
- ノイズキャンセル(マスク|マイク)ってないのかな?(2008.05.07)
- 『はてブBOX』と、ココログ用『はてブコメント表示欄』スクリプトの更新(2008.05.05)
- Yin and Yang:リンク先の内容をその場で表示するスクリプトの更新(2008.05.02)
「パソコン・インターネット」カテゴリの記事
- ツールを作る側は対象に与える影響をどこまで気にするか?(2008.05.29)
- "『無断リンクはやめて』という人にはしない方向で"の思考過程(2008.05.24)
- 『無断リンクはやめて』という人にはしない方向で(2008.05.22)
- ちょっと小細工:textareaの高さを自動調節(2008.05.21)
- Yin and Yang:動作改善(?)他(2008.05.14)

