- 2010 年 8 月 30 日 8:42 PM
- JavaScript・jQuery
[読了時間の目安:約 3 分]
小ネタです。
JavaScript が分かる人なら何の造作もないことなんですけど、分からなくて困ってる人が居るかも知れないので一応メモ。
設定方法
yuga.js の「外部リンクは別ウィンドウで開く」という機能は、デフォルトでは a 要素にのみ適用されます。
その記述がされているのは、以下の箇所(バージョン 0.7.1 で 148 行目)。
var e = $('a[href^="http://"]').not('a[href^="' + uri.schema + '://' + uri.host + '/' + '"]');
つまり、「a 要素の href 属性に、先頭が http:// の文字列が設定されていたら」という条件になっているわけです。
(ちなみに後半の「.not」以降は、URL が同じドメインだった場合、別ウィンドウで開く対象から外す、という処理(「ドメイン」って言っていいのかどうか分からないですけど))
なので、ここに条件を追加してやれば、a 要素以外でも別ウィンドウで開いてくれるようになるわけですね。
結果として、以下のようになります。
var e = $('a[href^="http://"], area[href^="http://"]').not('a[href^="' + uri.schema + '://' + uri.host + '/' + '"]');
作業内容としては、コピペしてカンマでつないで「a」を「area」に書き替えるだけです。
仕組みとしては単純なので、必要に応じて色々対応できそうですね。
逆に、「異なるドメインへのリンクでも、別ウィンドウで開く対象から外したい」という場合は、別記事に書いてますのでそちらをご覧ください。
»yuga.js で、別ウィンドウで開かないドメインを追加する方法。
小ネタでした~。
- 新しい: Dreamweaver のテンプレートで編集可能領域外の要素の属性を編集可能にする方法
- 古い: OpenOffice.org における、Microsoft Office の「ページ設定」にあたるメニューの在り処。
関連している(かもしれない)記事
コメント:0
トラックバック:0
- この記事のトラックバック URL
- http://blog.btmup.com/javascript/yuga-js-new-window-area-element.html/trackback
- トラックバックの送信元リスト
- yuga.js で、外部リンクを別ウィンドウで開く機能を area 要素にも適用する方法。 - btmup Blog より