====LDRize==== ~~META: creator = t.ashula &subject = mt,opera,javascript,ldrize &date created = 2008-01-17 05:22:14 &rights license = by-sa ~~ [[http://d.hatena.ne.jp/os0x/20080110/ldrize_minibuffer|Opera で LDRize と Minibuffer]]で""=http://d.hatena.ne.jp/os0x/20080110/ldrize_minibuffer|2つ以上Pinして開くとポップアップブロックに""の対策は,要点だけ書くと,anchorにmousedownをdispatchすればおk. とか書いてたら,気がついたら[[http://d.hatena.ne.jp/os0x/20080115/1200388510|回避されてた]] それもかなり汎用性の高い方法で. ----- 具体的なコードとしては,こんな感じ. $N('a', {href:url, target:target} ).dispatchEvent( document.createEvent('MouseEvent').initMouseEvent( 'mousedown', false, false, document.defaultView, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, null ) ); url, と target を持った A要素をとりあえず作って,そこに,MouseEvent として,センターボタンのmousedownを発行.そうすると,デフォルトの設定では,バックグラウンドでリンクを開く動作なので,popup ブロックされないでページが開けるという話. アイデアそのものは,[[http://my.opera.com/community/forums/topic.dml?id=206662|[UserJS] Snap Links - Open multiple links by drawing a box around links]] からで,dispatchEvent() とかの詳細は[[http://developer.mozilla.org/en/docs/DOM:element.dispatchEvent|DOM:element.dispatchEvent - MDC]],[[http://developer.mozilla.org/en/docs/DOM:event.initMouseEvent|DOM:event.initMouseEvent - MDC]]などから.