DisOpenWinS



らくだ

概要

usoDisOpenWinS 5.50[text/plain:12kB] は、サイト側の都合によって新しいウィンドウが勝手に開くことを阻止する Opera 用のユーザスクリプトです。

機能

target 属性による新しいウィンドウを無効にする

target 属性によって新しいウィンドウが開くことを阻止します。

frameset でないページの target 属性は全て無効にします。 frameset のページの target 属性は、存在する frame に設定されている場合のみ有効にし、それ以外は target="_top" にします。

window.open による新しいウィンドウを無効にする

javascript の window.open メソッドによって、新しいウィンドウが開くことを阻止します。新しいウィンドウで開かれる予定のドキュメントは現在のウィンドウ上で開きます。

window.open に新しい関数を上書きすることで実現しています。

form.submit による新しいウィンドウを無効にする

javascript の form.submit メソッドによって、新しいウィンドウが開くことを阻止します。新しいウィンドウで開かれる予定ドキュメントは現在のウィンドウ場で開きます。

対象

Opera 10.53 で動作確認。旧バージョンでは動作確認していませんので、最新版の Opera を利用してください。

更新履歴

2006-03-27
window.open の返り値を document から window に変更した。
2006-03-28
DisOpenWinS 4.11[text/plain:5kB] 公開。
主に target 属性のチェックをリンクのクリック時に行うようにした。これにより、読み込み完了前のクリックでも新しいウィンドウは開かないようになった。
別サイトへのリンクは _top にしていたのを変更。これにより、自分のサイトのフレームに別サイトを表示してしまうのを防げなくなったが、やむを得ず。
2006.03.29
DisOpenWinS 4.20[text/plain:5kB] 公開。
seekTargetFrameLoop で、下位フレームの検索でアクセス権のないフレームにアクセスして止まっていたのを修正。
2006-10-26
DisOpenWinS 4.50[text/plain:6kB] 公開。
Opera 9 系のために、 try~catch 構文を導入。
2007-04-14
DisOpenWinS 4.60[text/plain:8kB] 公開。
window.open を書き換えるタイミングを、 document の load 時から、 document の click 時に変更。
2008年10月14日(火)
DisOpenWinS 4.70[text/plain:12kB] 公開。
フレームの検索に frames オブジェクトをしよう。 Opera 9.60 への対応。
2010年05月28日(金)
usoDisOpenWinS 6.00b1[text/plain:20kB] 公開。
2010年06月04日(金)
usoDisOpenWinS 6.00b2[text/plain:23kB] 公開。
見た目の修正。
最大化時の挙動を変更。
子ウィンドウのリサイズを8方向で可能に。
2010-06-07
usoDisOpenWinS 5.50[text/plain:12kB] に戻す。 6.00 系は別のスクリプトとして公開。
関連コメント
トラックバックURL http://far.whochan.com/trackback.cgi/diary/2116

Usertime : 0.08 / Systemtime : 0