AutoPagerlike: Sleipnir+SeaHorse版 AutoPagerize(もどき)
メインブラウザとして使っているSleipnirでAutoPagerizeが使えないのが悔しかったので(?)、トライしてみました。
■SeaHorseスクリプト(Sleipnir専用) これで、とりあえず Google はじめ、いくつかのサイトでページの追加表示が可能となりました。
設定ファイルを独立させました。
これは、本体と同じところ(デフォルト:C:\Program Files\Fenrir & Co\Sleipnir\plugins\seahorse)に置いておきます。
ユーザがローカルでSITEINFOを追加したい場合などは、このファイル(!!autopageroptions.user.js)を書き替えます。
■SeaHorseスクリプト(Sleipnir専用) これで、とりあえず Google はじめ、いくつかのサイトでページの追加表示が可能となりました。
オリジナルで対応しているサイトであっても、うまく表示出来ないことも多いと思います。ご了承下さい。
【追記】って、既にAutoPagerize for SeaHorseという、そのものずばりのものが公開されていることに公開してから気付いてこ(rya…… orz。
【2008/03/30追記】設定ファイルを独立させました。
これは、本体と同じところ(デフォルト:C:\Program Files\Fenrir & Co\Sleipnir\plugins\seahorse)に置いておきます。
ユーザがローカルでSITEINFOを追加したい場合などは、このファイル(!!autopageroptions.user.js)を書き替えます。
バージョンアップ時には、本体(!autopagerlike.user.js)のみを上書きすればよく、設定ファイル(!!autopageroptions.user.js)は上書きしなくてすむようにしたわけです。
■謝辞
AutoPagerize作者のid:swdyh さん、すばらしいツールを世に出してくださってありがとうございます。
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)。
« ウィキペディア(Wikipedia)の脚注もその場で見る | トップページ | AutoPagerlike: 『次へ』リンクが無い場合の対処方法を考える »
「パソコン・インターネット」カテゴリの記事
- Twitter 原寸びゅー:PC版ブラウザ用・Twitterの画像閲覧と保存がはかどる拡張機能の紹介(2016.02.12)
- スマートフォンをPC上の音楽を再生するためのリモコンとして使いたい(2016.01.10)
- BIGLOBE光ネクスト(大阪)の通信速度問題 - プロバイダ選びは難しい……(2015.08.13)
- BOOK☆WALKER さんに関して最近経験した不安と不満(2015.08.10)
- 『#鳥獣戯画制作キット』が楽しい(2015.07.01)
「おもいつき」カテゴリの記事
- ココログをTwitterカードに対応させてみる(2016.11.23)
- 神使の兎 ~宇治神社にて~(2016.07.10)
- Twitter 原寸びゅー:PC版ブラウザ用・Twitterの画像閲覧と保存がはかどる拡張機能の紹介(2016.02.12)
- スマートフォンをPC上の音楽を再生するためのリモコンとして使いたい(2016.01.10)
- 【覚書】風柳亭(ココログプロ)をレスポンシブWebデザイン化(Bootstrap3使用)(2015.10.09)
« ウィキペディア(Wikipedia)の脚注もその場で見る | トップページ | AutoPagerlike: 『次へ』リンクが無い場合の対処方法を考える »
コメント