LDRize

Opera で LDRize と Minibuffer2つ以上Pinして開くとポップアップブロックにの対策は,要点だけ書くと,anchorにmousedownをdispatchすればおk.

とか書いてたら,気がついたら回避されてた

それもかなり汎用性の高い方法で.


具体的なコードとしては,こんな感じ.

$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 ブロックされないでページが開けるという話.

アイデアそのものは,[UserJS] Snap Links - Open multiple links by drawing a box around links からで,dispatchEvent() とかの詳細はDOM:element.dispatchEvent - MDCDOM:event.initMouseEvent - MDCなどから.

mt/d080117_ldrize.txt · 最終更新: 2008/10/12 17:52 by t.ashula
 
 
©2008 Another cool website by 80KV