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

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

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


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

lang:javascript
$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などから.