HAKUHIN's home page 過去ログ 2013年
■2013/12/16
PageExpand ver.1.3.0 をリリースしました。
■実行関連
クライアント領域からマウスアウトを検出した場合、ポップアップを閉じるよう修正しました。
マウスカーソルを画面端に移動した場合、掲示板ポップアップを閉じるよう修正しました。
ノード解析時に、matchesSelector によるチェックを導入しました。
ページ全体を特定の要素でくくっているサイト(ふたばなど)の解析処理が、Google Chrome では劇的に遅かった問題が改善しています。
Google Chrome で <FORM> 要素の parentNode プロパティにアクセスすると 10 ~ 20 倍ほど遅いみたいですね。
■ウェブリクエスト関連
アクセス遮断、リファラ置換、ユーザーエージェント置換の仕様を変更しました。
「ワイルドカード」という特殊定義を導入しました。
この設定は、URLマッピングにの設定に関係なく必ず最後に動作します。
ただし、URLマッピングでマッチする定義がある場合、その定義が動作します。
「ワイルドカード」は、ブラウザのすべての通信に適用されます。
例えば、サジェストや同期機能や他の拡張機能の通信にも影響します。
PageExpand バックグラウンド XHR 通信時に、カレントURLを識別できるように対応しました。
URLマッチ処理とキャッシュ処理を微改善しました。
■イメージ展開定義関連
縮小イメージポップアップ後、URLが変化した場合、再解析するよう修正しました。
イメージ要素にポップアップ発生を試みると、エラーが発生する事がある問題を修正しました。
アシスト要素のみのポップアップに対応しました。
イメージ展開定義「ポップアップ表示(アシスト要素のみ)」と、エレメント展開定義「展開アシスト(アンカー内画像用)」を追加しました。
ピクシブ用プリセットに適用しています。
イメージのサムネイル表示とポップアップ表示に「有効 / 無効」設定を追加しました。
ロード設定にソースタイプの設定を追加しました。
ver.1.2.2 以前のように URL 形式のみで動作させる事ができます。
<IFRAME> 要素内のポップアップイメージを、セキュリティの許す限り、親側のウィンドウに展開を試みるよう修正しました。
埋め込みサービスなどは、オリジンが異なるためまず動作しません。またCSP違反?でも動作しません。
ツイッター用に実装してみましたが、残念ながら動作しません(泣)。
■掲示板拡張関連
したらばのドメイン変更に対応しました。
ふたばのスクリプトを更新しました。
■Firefox Android 版
Firefox アンドロイド版に対応しました。野良版リンクはこちら。
拡張機能の性質上、画面が小さい、メモリが少ない端末での導入は非推奨です。
デフォルトの設定が、デスクトップPC向けそのままなのでご注意ください。
アンドロイド版では、ユーザーエージェントの置換機能は動作しません。
■タッチ操作について
タッチ操作に対応しました。
PageExpand 監視下の要素にのみ作用します。
シングルタッチ操作を行った場合、マウスポインタの移動を再現します。
ダブルタッチ操作を行った場合、2つの座標間のマウスポインタの移動を再現します。
■ダブルタッチ操作について
任意のアンカーを2つの指で挟むように、適当な2箇所を同時にタッチします。
アンカーの矩形と線分が交差していれば、ポップアップが発生します。
一度でもマルチタッチ操作を検出すると、一旦タッチ操作を辞めない限り、タッチ入力を無視するようになります。
例えば、ピンチ操作中に得られる入力データは完全に無視します。
ダブルタッチ操作を使ってホップアップを発生させた場合、再シングルタッチ操作を行うとポップアップを終了させる事ができます。
基本的に、ダブルタッチ操作の利用をオススメします。
一応タッチムーブでポップアップを発生させる事もできますが、全く快適ではありません。
■PageExpand 設定について
ヒストリーの UI に対応しました。
左のメニュー選択と、ブラウザの戻る/進むが連携します。
掲示板拡張のインポート/エクスポートに対応しました。
フィルタ単位のインポート/エクスポートに対応しました。
■Firefox 版
Firefox 用の「Firefox 拡張機能用」という定義を廃止しました。
「URLマッピング」の設定が、Chrome 版と同等になりました。
カレント URL の取得が、Chrome 版とは異なる場合があるのでご注意ください。
例えば、XHR 通信を発生させたカレントURLを判別する事はできません。「ワイルドカード」に記述して対応する必要があります。
また、ページが多重フレーム構造になっている場合、必ずしもトップウィンドウのアドレスが取得できるとは限りません。
■Opera(Presto 版)
Opera(Presto 版)用の「Opera 拡張機能用」という定義を廃止しました。
かわりに「ワイルドカード」で動作します。
■2013/11/15
PageExpand ver.1.2.4 をリリースしました。
■イメージ展開定義関連
ポップアップイメージ動作中にアンカー要素が消滅した場合、即時破棄せず自立動作に切り替えるよう修正しました。
ポップアップを開始するたびに、CSSスプライト用のトリミング演算を行うよう修正しました。
ポップアップ開始時の矩形ツリーを保持し、判定外に出るまではポップアップを終了しないよう修正しました。
■掲示板拡張関連
スクリプトを一新しました。
動作 URL の正規表現を修正しました。
書き込み成功後、ポップアップウィンドウが高確率で自動的に閉じられず、再書き込みができなくなる問題を修正しました。
ポップアップ表示位置算出時に、スタイルの幅と高さを考慮するよう修正しました。
ポップアップ動作中にアンカー要素が消滅した場合、即時破棄せず自立動作に切り替えるよう修正しました。
継ぎ足し読み込み、ポップアップ生成、レス駆除処理を非同期化しました。
例えば >>1-10000 などの地雷をマウスオーバーした時に、ブラウザがしばらく応答不能になる問題が改善しています。
シャドウロード機能を追加しました。
「新着レスの表示」や「最新50件表示」の場合でも、「全部の表示」と同等にカウント数やポップアップが動作します。
対応サイト (2ch.net、machi.to、bbspink.com、jbbs.livedoor.jp、kakiko.com、atchs.jp、logsoku.com、mimizun.com、unkar.org、chaika、ニコニコ大百科 [前件のみ])
ふたばのレス解析方法を変更しました。
引用 1 行と一致する文が、前件に存在するか調べます。
Firefox 用アドオンの chaika 用のプリセットを追加しました。デフォルトスキン(派生含む)でのみ動作します。
ログ速の仕様変更に対応しました。
■2013/10/14
■2013/10/10
PageExpand ver.1.2.3 をリリースしました。
■実行関連
アクセス遮断定義、ハイパーリンク置換定義、リファラ置換定義、ユーザーエージェント置換定義の複数選択に対応しました。
複数選択した定義の中で1回でもマッチしたら終了します。
■混在コンテンツのセキュリティについて
Google Chrome 30 以降から、以下のコンテンツは、セキュア (https) なページ内で動作しなくなります。(Firefox 版と同等)
アクティブコンテンツ | Google Chrome 30 | Firefox 24 |
youtube ビデオ | ○ | ○ |
niconico ビデオ | × | × |
niconico ビデオサムネイル | × | × |
niconico マイリストサムネイル | × | × |
niconico ユーザーサムネイル | × | × |
niconico コミュニティサムネイル | × | × |
niconico 生放送サムネイル | × | × |
niconico 静画サムネイル | × | × |
ustream 配信ビデオ | ○ | ○ |
ustream 録画ビデオ | ○ | ○ |
dailymotion ビデオ | ○ | ○ |
vimeo ビデオ | ○ | ○ |
fc2.com ビデオ | × | × |
liveleak ビデオ | × | × |
■画像のセキュリティについて
画像関連のセキュリティの仕様を変更しました。
セキュア(https)なページで、アンセキュア(http)な画像を表示する場合、Data URI scheme を利用するように変更しました。
セキュリティの設定に関係なく、画像を表示できるようになります。また、暗号化の警告も表示されません。
■イメージ展開定義関連
ポップアップイメージの大きさがクライアント領域の幅を超えていた場合、下側にスクロールバーの余白ができていた問題を修正しました。
ポップアップイメージの配置基点に、「エレメントに吸着」「マウスに吸着」を追加しました。
メジャーな画像ズーム系拡張機能と似たような位置に出現します。
イメージポップアップ開始時に、開始要素のスタイル padding と border のサイズを考慮するよう修正しました。
オーバーフローを利用したトリミング付き画像(CSSスプライト)のポップアップに対応しました。
■Google Chrome 版
セキュリティ関連の仕様を変更しました。
セキュア (https) なページで、アンセキュア (http) な XHR 通信を行う場合に限って、バックグラウンドからアクセスするよう変更しました。
この変更により、短縮URLの展開やハイパーリンク置換などが、セキュリティの設定に関係なく動作するようになります。(他プラットフォーム版と同等)
また、暗号化の警告も表示されません。
かわりに、PageExpand が告知されること無くクラッシュし続けている状態に陥る事があります。
(注.過去に検証したときの動作です。最新の Google Chrome で起こるかは不明です)
通常であれば、「Google Chrome が危険と判断したアドレス」にアクセスすると、赤い警告画面が表示されます。
バックグラウンドから、「Google Chrome が危険と判断したアドレス」にアクセスすると、警告画面が表示される事無く、バックグラウンドプログラムが停止します。
この状態に陥ると、Google Chrome 自体を再起動したり、Google Chrome のタスクマネージャーから拡張機能を再起動して復旧する必要があります。
数分放置すると、Google Chrome がクラッシュを検出してくれる事もある?ようです。
■Firefox 版
PageExpand 設定画面にて、エディットボックス編集中にリストボックスの編集を試みると、リストボックス変化後の結果に対してエディットボックスの編集結果が反映される問題に対応しました。
■2013/09/21
GitHub に PageExpand のリポジトリを追加しました。
https://github.com/hakuhin/PageExpand
プリプロセス済みのソースコードを入手する事ができます。
■2013/08/07
PageExpand ver.1.2.2 をリリースしました。
■実行関連
ピクシブ用のプリセットを追加しました。(直閲覧なのでリファラ置換不要、非ログイン時はR18画像取得不可)
フェイスブック用のプリセットを追加しました。
# 付きURLアドレスのクエリ解析に失敗していた問題を修正しました。
コンテキストメニューを表示したままページが切り替わると、コンテキストメニューが無効となる問題を改善しました。
XHR 通信時に、ユーザー認証の失敗 401 を検出した場合、リトライを行わないよう修正しました。
■混在コンテンツのセキュリティ対応について
Firefox 23 以降から、以下のコンテンツは、セキュア (https) なページ内で動作しなくなります。
Google Chrome 28 では、アンセキュアな <EMBED> 要素はブロックされます。
Firefox 23 では、アンセキュアな <IFRAME> <EMBED> 要素はブロックされます。
アクティブコンテンツ | Google Chrome 28 | Firefox 23 |
soundcloud プレイヤー Flash版 | ○ | ○ |
soundcloud プレイヤー HTML5版 | ○ | ○ |
mixcloud プレイヤー | ○ | ○ |
アクティブコンテンツ | Google Chrome 28 | Firefox 23 |
youtube ビデオ | ○ | ○ |
niconico ビデオ | × | × |
niconico ビデオサムネイル | ○ | × |
niconico マイリストサムネイル | ○ | × |
niconico ユーザーサムネイル | ○ | × |
niconico コミュニティサムネイル | ○ | × |
niconico 生放送サムネイル | ○ | × |
niconico 静画サムネイル | ○ | × |
ustream 配信ビデオ | ○ | ○ |
ustream 録画ビデオ | ○ | ○ |
dailymotion ビデオ | ○ | ○ |
vimeo ビデオ | ○ | ○ |
fc2.com ビデオ | × | × |
liveleak ビデオ | ○ | × |
動作させるには、PageExpand の設定を有効にし、さらにブラウザの隠し設定も有効にする必要があります。
GoogleChrome 28 の場合、起動オプションに「--allow-running-insecure-content」を追加(自己責任で)
Firefox23 の場合「about:config」内の「security.mixed_content.block_active_content」を「false」(自己責任で)
また、供給サイトが将来的に https に対応した場合でも、表示できるようになります。
■掲示板拡張関連
ログ速の変更に対応しました。
■エレメント置換定義関連
コールバック関数の仕様を変更しました。
コールバック関数から URL アドレスを返すと、任意の要素から展開系の処理が実行できるようになりました。(裏でノードに登録されないアンカーが生成されます)
「展開アシスト(画像検索用)」プリセットを追加しました。
NAVER 画像検索の変更に対応しました。
「展開アシスト(ツイッター用)」プリセットを追加しました。
左側に表示される画像サムネイルと、画像検索時のサムネイルのポップアップ展開をアシストします。
「展開アシスト(ピクシブ用)」プリセットを追加しました。
manga モードのサムネイル一覧表示時の、ポップアップ展開をアシストします。
■アンカー置換定義関連
「直リンクに変更(フェイスブック用)」「イベントを無効化(フェイスブック用)」プリセットを追加しました。
アンカーにマウスオーバーすると、元の URL に戻る動作を無効化します。
■ハイパーリンク置換定義関連
旧仕様が残っているスクリプトを一新しました。
「ハイパーリンクの置換定義」の「直リンク(汎用)」に以下のフィルタを追加しました。
FC2ブログ Photo、Miiverse
「Facebook Photo」にて、高解像度画像の入手に対応しました。
「ピクシブ」にて、manga_big モードの画像の入手に対応しました。
■ハイパーリンク化定義関連
特定のサイトでのみ、テキストのハイパーリンク化が動作するようになりました。(デフォルトの設定)
従来のようにすべてのサイトで動作させたい場合、設定を変更する必要があります。
■短縮URL展開定義関連
プリセットを更新しました。
サービスが終了しているアドレスを削除しました。
「簡易」プリセットから、公共性の無いアドレスを除外しました。
■展開系定義関連
コールバック関数の仕様を変更しました。
コールバック関数の引数から、すべての要素が渡されるようになります。(従来はアンカーのみ)
以下のコンテンツをセキュア版に変更しました。
「mixcloud プレイヤー」、「vimeo ビデオ」
■イメージ展開定義関連
ポップアップイメージ表示に、拡大率設定を追加しました。
「ポップアップイメージの配置基点」に「右上を基点」を追加しました。
Web 側から min-width などのスタイルが適用されている場合、ポップアップイメージの表示位置がずれる事がある問題を修正しました。
ポップアップ開始時の矩形を修正しました。
バウンディングボックスより画像が大きい場合、バウンディングボックスが開始矩形となります。(従来はマウス位置)
ポップアップ終了時のマウス当たり判定方法を修正しました。
スタイルシートの overflow などを考慮します。
この変更で、一部のサイトでポップアップが動作しなくなるかもしれません。
「ポップアップ」と「サムネイル」のプリセットを削除しました。
かわりに、「ポップアップ表示(すべてのリンク)」「ポップアップ表示(画像を含むリンク)」「サムネイル表示(すべてのリンク)」「サムネイル表示(画像を含まないリンク)」を追加しました。
「ツイッター用」プリセットを追加しました。
サムネイル化が動作するのは投稿本文中のみとなります。一部の画像がポップアップ化します。
投稿本文中のリンクが1つ、かつフッダ部にイメージを含むコンテンツが存在する場合、サムネイル化は動作しません。
■2013/07/30
追従スクロールを実装してみたいという事で、講座ページの左側に、目次一覧を追加しました。
解像度の幅が 1680 以上広い場合のみ出現します。
■2013/07/26
JS講座に、スタイルシートについて(CSSStyleSheet)を追加しました。
■2013/07/10
JS講座の、ナビゲーターについてを修正しました。
InternetExplorer 11 と Opera 15 (Blink 版) の情報を追加しました。
■2013/06/29
ActionScript1.0 と JavaScript で動作する解析関数を追加しました。
■2013/06/05
AS講座の、オブジェクトについて(Object クラス)を修正しました。
AS3講座の、オブジェクトについて(Object クラス)を修正しました。
JS講座の、オブジェクトについて(Object クラス)を修正しました。
AS講座に、関数について(Function クラス)を追加しました。
AS3講座に、関数について(Function クラス)を追加しました。
JS講座に、関数について(Function クラス)を追加しました。
■2013/05/24
PageExpand ver.1.2.1 をリリースしました。
■Google Chrome 版
Google Chrome v27 にて、イメージポップアップが動作しない問題を修正しました。
ページによっては、以下のソースで謎エラーが出ますね。
Google Chrome v27 の拡張機能のコンテントスクリプト内
window.onload = function (){
try{
var img = new Image();
document.body.appendChild(img);
}catch(e){
// Error: NotFoundError: DOM Exception 8
// Error: An attempt was made to reference a Node in a context where it does not exist.
console.log(e);
}
};
document.createElement() メソッドを使って回避してみました。
Google Chrome v27 の拡張機能のコンテントスクリプト内
window.onload = function (){
try{
var img = document.createElement("img");
document.body.appendChild(img);
}catch(e){
console.log(e);
}
};
■2013/05/18
JS講座に、マウスボタンの押下状態を調べるを追加しました。
JS講座に、JavaScript と互換モードの関係についてを追加しました。
JS講座に、FormData クラスについてを追加しました。
JS講座に、コンソールのメソッド一覧を追加しました。
■2013/05/13
PageExpand ver.1.2.0 をリリースしました。
■実行関連
DOM 解析と実行キューを高速化しました。
shift() push() をキューとして使っていたのが×ですね。DOM オブジェクトの数が多いほど、二次関数的に遅くなっていましたが、一次関数的な処理時間で終わります。
実行キューに優先度を導入しました。
テキスト関係の処理(テキスト置換、ハイパーリンク化)は、何よりも後で動作します。
requestAnimationFrame を廃止して setInterval に戻しました。
実行タスクが存在しない場合、タイマーを停止するよう修正しました。
Date.now() メソッドの利用を試みるよう修正しました。(new Date().getTime() より高速なのが美味しいです)
DOMオブジェクトの、クローン置換、リムーブ、再挿入の検出を強化しました。(twitter、掲示板拡張表示用)
PageExpand が生成した DOM オブジェクトの再挿入や、クローン挿入を検出した場合、除去します。
イメージと掲示板のポップアップ表示中にスクロール補正が発生した場合、連動して移動するように修正しました。
マウスボタン押下中(ドラッグ選択中など)は、イメージと掲示板のポップアップが発生しないよう修正しました。(Opera 版と Safari 版は現状未対応)
■掲示板拡張関連
スクリプトを一新しました。
トリップとホスト名のカウントに対応しました。
カウント数更新を、全世代のポップアップに通知するよう修正しました。
"Read More" ボタンを追加しました。以下のサイトで継ぎ足し読み込みが可能です。
(2ch.net、machi.to、bbspink.com、jbbs.livedoor.jp、kakiko.com、atchs.jp、logsoku.com、mimizun.com、2chan.net、ニコニコ大百科)
・ | 2ch の CGI モード動作時は、差分 HTML ファイルの入手を試みます。 |
・ | 2ch の JavaScript モード動作時は、全体 dat ファイルの入手を試みます。 |
・ | ニコニコ大百科は、約1000件区切りで連続で読み込みを試みます。 |
以下のサイトに、ポップアップ書き込みを追加しました。
(2ch.net、bbspink.com、jbbs.livedoor.jp、atchs.jp、2chan.net)
・ | 書き込み時に元のページが遷移しません。 |
・ | 書き込み成功後は、新しいレスを継ぎ足し表示します。 |
■アンカー置換定義関連
"ツールチップにリンク先を表示" プリセットを追加しました。
アンカーをマウスオーバーすると、リンク先をツールチップとして表示します。
コールバックスクリプトの仕様を変更しました。
第01引数のオブジェクトから、EventDispatcher (独自クラス)が取得できるようになりました。
■ハイパーリンク化定義関連
ハイパーリンク化のスクリプトを一新しました。
途中に、<span> <b> などのインラインタグが存在する場合でも、ハイパーリンク化するようになりました。
○ http://<span>example</span>.com/aaaaa/bbbbb/<b>ccccc.html</b>
途中に、<wbr> タグが存在する場合も、ハイパーリンク化します。(4chan 用)
○ http://example.com/aaaaa/bb<wbr>bbb/ccccc.html
最後尾が "..." である場合、省略表記とみなしハイパーリンク化しなくなりました。
× http://example.com/aaaaa/bbb...
■ハイパーリンク置換定義関連
「ハイパーリンクの置換定義」の「直リンク(汎用)」に以下のフィルタを追加しました。
Google+、Picasa、p.twpl.jp
image.baidu.com の新画像検索ページに対応しました。
謎の文字列と実際のリンク先が連動していたので、JavaScript 美化ツールさんにお願いしてみると復号関数ありましたね。短周期でアルゴリズムが変わるようならまた非対応に戻ります。
・bing、Gyazo の変更に対応しました。
コールバックスクリプトの仕様を変更しました。
戻り値のオブジェクトから、コンテンツタイプを指定できるようになりました。
■展開系定義関連
挿入コールバックスクリプトを一新しました。
改行用エレメントの解放に対応しました。
許可コールバックスクリプトの仕様を変更しました。
第01引数のオブジェクトから、コンテンツタイプを取得できるようになりました。
挿入コールバックスクリプトの仕様を変更しました。
第01引数のオブジェクトから、EventDispatcher (独自クラス)が取得できるようになりました。
■イメージ展開定義関連
画像掲示板(2chan、4chan)に最適化したプリセットを追加しました。
■2013/04/11
■2013/04/07
PageExpand ver.1.1.1 をリリースしました。
Firefox 版はしばらくアップできそうにないので、野良版でよければこちらからどうぞ。
■共通
・数十メガ相当のテキストページを開くと、しばらく応答不能になる問題を修正しました。(DOM 構築完了前に MutationObserver を登録すると×みたいです)
・『: / . ? # *』で終わるURLの時、それより長い * 付きワードでもマッチ判定される問題を修正しました。
・「ハイパーリンクの置換定義」の「直リンク(汎用)」に以下のフィルタを追加しました。
yfrog.com、campl.us、Gyazo、Giphy
・bing、Twitpic、フォト蔵、ピクシブ、の変更に対応しました。
■Firefox 版
・アドオンバーのポップアップが動作しない問題を修正しました。
■2013/04/05
JS講座に、ウィンドウについて(Window)を追加しました。
■2013/03/28
■2013/03/22
JS講座に、フルスクリーンについてを追加しました。
■2013/03/21
■2013/03/14
JS講座に、タッチスクリーン操作についてを追加しました。
■2013/03/12
JS講座に、テキストノードについて(Text)を追加しました。
JS講座に、アトリビュートについて(Attr)を追加しました。
JS講座に、スタイル宣言について(CSSStyleDeclaration)を追加しました。
JS講座に、イベントについて(DOM Event Model)を追加しました。
■2013/02/21
AS1.0講座に、AsBroadcaster クラスについて(Flash 6 以降)を追加しました。
■2013/02/17
AS3.0講座に、StageVideo クラスについて(Flash 10.2 以降)を追加しました。
■2013/02/14
■2013/02/11
AS3.0講座に、拡張マイク機能を使用する(Flash 10.3 以降)を追加しました。
■2013/02/05
AIR講座に、CameraUI クラスについてを追加しました。
■2013/02/04
AIR講座に、CameraRoll クラスについてを追加しました。
■2013/01/31
AIR講座に、StageWebView クラスについてを追加しました。
■2013/01/28
JS講座に、ジオロケーションについてを追加しました。
■2013/01/22
PageExpand ver.1.1.0 をリリースしました。
Firefox アドオン版ができました。(注.現在、人柱版となります。Mozilla レビューをクリアしておらず、リジェクトされる事があります。内容は v1.1.0 と同等です。)
Firefox アドオン作るの難解スギィ~!…と諦めてたのですが、Add-on SDK を使う事で移植できました。
特殊仕様ですが、リファラ置換、ユーザーエージェント置換、アクセスブロックも可能です。
Greasemonkey 版を使われている方にオススメです。
■共通
・画像のロード進捗アイコンを追加しました。(,,)
・スクロールと連動して画像を読み込む設定を追加しました。サムネイル表示時はオススメしません。
・画像の読み込み制限の設定を追加しました。制限値を超えると古い画像を解放します。(…メモリが空く気配が無いのでリークしてるかもです。有効にすると、スクロールするたびに巨大画像の読み込みと破棄を繰り返すので、パフォーマンスは落ちます。読みっぱなしのほうが逆に快適かもしれません。デフォルトでは無効です。)
・画像のポップアップアニメーションの設定を、「半透明フェード」と「拡大縮小フェード」に分離しました。
・設定画面で対応していない機能を半透明表示にするよう修正しました。
・保存データにプリセット情報を含めないように修正しました。
・過去にエクスポートした定義データを最新のバージョンにインポートできるようになりました。
・pic.twitter.com、bing、yandex、mixcloud、ustream の変更に対応しました。
・naver.jp のハイパーリンク置換のキャッシュ設定を修正しました。
・image.baidu.com の新ページの画像取得ができなくなりました。
・ソースコードを独自の #ifdef~#endif 方式でマクロ化しました。リリース時に別プラットフォーム用の処理が混在しなくなりました。
・MutationObserver に対応しました。(未対応ブラウザの場合 MutationEvent で動作)
・ハイパーリンク監視が、イベント実行になりました。(MutationObserver 対応時)
・リムーブ監視が、タスク実行になりました。要素が多いほど遅延します。(MutationObserver 対応時)
・スクロール監視が、タスク実行になりました。要素が多いほど遅延します。
・アスタリスクワードを正規表現キャッシュするように修正しました。(作者の環境では、初期化が約3倍低速化、マッチが約20倍高速化)
■Google Chrome 版
・同期ストレージの保存に対応しました。基本設定に「同期ストレージ」という項目があり、手動で保存します。すぐに容量制限に引っかかるため、現状では実用レベルではありません。
■Firefox 版
リファラ置換、ユーザーエージェント置換、アクセスブロックが可能です。
ただし、「Firefox 拡張機能用」という定義が強制的に有効となる特殊仕様となります。(全ページで1つの共通設定を使う状態。閲覧元ページごとに条件を分けることができない。)
カレントURLが、通信方法によっては取得できません。リファラ置換設定で、「基本リファラ値」に「現在のURL」を指定する場合はご注意ください。
■Opera 版
・エクスポートで「OK」ボタンが動作しない問題を修正しました。
・xhr エラーで、バックグラウンドスクリプトが動作しなくなる事がある問題を修正しました。
■Greasemonkey 版
・@grant メタデータを追加しました。
・IE 系で DOMNodeInserted イベント未対応ページを開いたとき、DOM の挿入監視処理が常時 CPU を使用していた問題を修正しました。(今後、300 個の要素を一巡するのに約 1 秒掛かります)
・MutationObserver 未対応時でも、DOM リムーブを検出できるよう修正しました。