oAutoPagerize ver 1.1.1
軽微なバージョンアップです。
更新はoAutoPagerize - 0xFFからどうぞ。
- @nifty:デイリーポータル Zなどのページで文字化けが発生していたため、文字コードがUTF-8でない場合はiframeを使用するという暫定的な対応
- Google画像検索で稀にエラーになる問題を修正
oAutoPagerize ver 1.1
Opera9.5xへの最適化など細かい調整ばかりです。
更新はoAutoPagerize - 0xFFからどうぞ。
なお、現在macbookが故障したままでSafariでの確認が出来ないためSafari版は更新していません。たぶん問題ないと思うのですが、後で確認・対応します。
修正点
- Google画像検索での問題( http://furyu.tea-nifty.com/annex/2008/05/googleh2_769f.html )に対応
- OperaのXPathについてのバグ(は9.50で修正されます) - 0xFFので、Opera9.5以降ではiframeを使わないように変更
- matchをtestにして若干の高速化
- tr要素継ぎ足し時のレイアウト崩れ対応
- target書き換えのXPath修正
- include指定変更、gmailを除外
- OperaのBookmarklet呼び出しに対応
- 1ページ目を読み込み済みに
- SITEINFOのマッチング部分を修正/デバッグ用のログ出力を改良
- added class name to page number element.(本家の修正)
- Microformats対応の強化
- FORCE_TARGET_WINDOWが外部で定義しても必ず有効になる問題を修正
- (Operaの場合)XMLHttpRequestに失敗したら、iframeリクエストを実行(Yahoo!検索でも動くように)
そのほか、本家の仕様にあわせて、SITEINFOファイルをSITEINFOのurlの長さでソートしておくようにしました。
oAutoPagerize ver 1.0
oAutoPagerizeをwedata対応にして、CodeReposにアップしました。コミット記念にver1.0にします。
http://coderepos.org/share/browser/lang/javascript/opera-userjs/oAutoPagerize.js
この記事に書いていた内容をoAutoPagerize - 0xFFに移しました。インストールなどもそちらを参照お願いします。
oAutoPagerize ver 0.4.2 Safari用バグFIX
コメントで指摘いただいた通り、Safari3.1で3ページ目でoAutoPagerizeが止まってしまう現象が起きていたので、その修正を行いました。Opera版に直接の影響はありません(が、更新はしてます)。
更新はoAutoPagerize - 0xFFからどうぞ。
バグの内容は、URLを絶対パスに変換する際に現在のURLを使ってしまっていたことが原因で同じページを読み込んでしまうというものでした。ケアレスミスです。すみません。。
2008/4/7 18:58 追記:ファイルをアップするのを忘れてました>< 申し訳ございません。。そして、nevilさんご指摘ありがとうございました。
oAutoPagerizeのGoogleイメージ検索対応 oAutoPagerize ver 0.4.1
風柳亭: AutoPagerize/AutoPagerlike:Google イメージ検索への対応を試みるを見たところに、コメントでGoogle画像検索対応をお願いされたので、対応してみました。
更新はoAutoPagerize - 0xFFからどうぞ。
SITEINFOを工夫して、本体にはほとんど手を入れずに動くようにしてみました。
,{ url: 'http://images\\.google\\..+/images\\?.+' ,nextLink: 'id("nn")/parent::a' ,pageElement: '//table[tbody/tr/td/a[starts-with(@href,"/imgres")]]' ,exampleUrl: 'http://images.google.com/images?gbv=2&hl=ja&safe=off&q=%E3%83%9A%E3%83%BC%E3%82%B8' }
nextLinkの書き換え部分については風柳亭さんのコードを参考にさせていただきました。
if (/^http:\/\/images\.google\..+\/images\?.+/.test(location.href)) (function(){ //via http://furyu.tea-nifty.com/annex/2008/04/autopagerizeaut_c163.html var nn = document.getElementById('nn'); var n = nn.parentNode; if (n) n.href = n.href.replace(/[\?&]gbv=2/,'') + '&gbv=1'; })();
ついでに、AutoPagerizeにインクリメントモードとURLフィルターを追加するプラグインを書いてみた - 0xFFにもこの改造を導入してみました。
oAutoPagerize ver 0.4
Opera版は高速化、Safari版は安定性を向上しました。
更新はoAutoPagerize - 0xFFからどうぞ。
今回から、設定ファイルを別ファイルに書いておくことが出来るようにしてあります。下記のファイルをベースに、編集してみてください。(主に、自分用にSITEINFOを書いておいたけど、アップデート時に上書きしてしまったといったミスを防ぐ目的で導入しました)
Opera: http://ss-o.net/userjs/0AutoPagerize.Settings.js
Safari: http://ss-o.net/userjs/0AutoPagerize.Settings.user.js
// ==UserScript== // @name 0AutoPagerize Settings // @namespace http://ss-o.net/ // @description oAutoPagerize Settings // @include http* // ==/UserScript== window.AutoPagerizeSettings = { TOP_SITEINFO:[] ,BOTTOM_SITEINFO:[] ,naviType:'link'//link or number ,DebugMode:false ,AUTO_START:true ,BASE_REMAIN_HEIGHT:400 ,FORCE_TARGET_WINDOW:true ,TARGET_WINDOW_NAME:'_blank' ,COLOR:{ on: '#0f0', off: '#ccc', loading: '#0ff', terminated: '#00f', error: '#f0f' } };
以下、変更点。
- Opera版はインラインフレームで読み込んだ内容をDOMContentLoadedのタイミングで処理するように改善しました。画像の読み込みなどをほぼ確実に無視できるようになったので、かなり体感速度が改善されました。
- Safari版で、読み込んだ内容に含まれるJavaScriptが実行されてしまうことがあるバグを修正しました。どうやら、importNodeするときに、除去したはずのscriptが復活していたみたいです。これで、mixiでも動作するようになりました。(ただ、Safariではmixiのコメント欄が逃げる問題が発生してしまっています)
- 0.3.4までは、インラインに書かれたSITEINFOはinfogamiのものより必ず先に実行されていましたが、インラインのSITEINFOをTOPとBOTTOMに分け、それぞれに書き分けることで先に適用するか、後で適用するか選べるようにしました。infogamiにあるけどoAutoPagerizeではうまく動かないのでパッチ的にあてるSITEINFOはTOPに、infogamiへの掲載待ちのSITEINFOをとりあえず使いたい場合はBOTTOMに、といった感じに使い分けてみるとベターだと思います。
- 右上のアイコンにUPDATEリンク(scriptのリンク)を追加しました。やや面倒だったSafariでのアップデートは、このリンクをクリックするだけで出来るようになりました。Operaの場合、コンテキストメニューから保存する必要はありますが、それでもかなり手軽になったと思います。SITEINFOはちょくちょく更新されているので、たまに更新してみると良いと思います。
- 書くの忘れてた。jAutoPagerizeでスクロールバーを強制的に出すってのがあったので、真似てみました。os0x's fotolife - Hatena::Diary divをposition:absolute;にしてbottom:-1px;を指定する方法。
oAutoPagerize ver 0.3.2
更新情報は [oAutoPagerize] - 0xFF よりどうぞ。
id:ayanamist さんからバグレポートを頂き、Google Adに飛ぶ件がマズそうだったので検証してみたところ、scriptタグなどが除去されていないために、次のページ用に取得したHTML内のScriptが実行されてしまっていることがわかりました。
そこで、scriptやframeなどを除去するように修正したので、お手数ですが更新お願いします。(今回もOperaのほうは影響しません)
更新はoAutoPagerize - 0xFFからどうぞ。
修正に当たって、id:cho45さんのjAutoPagerizeを参考にさせていただきました。ありがとうございます。
Safariでmixiがバグるという報告が。原因不明っぽいので、対応に時間かかるかもしれません。。
以前、原因不明ですが、mixiでは動作しないようにする修正だけしておきました