[ 新規に投稿する ]

ブラウザ枠内のHTMLリンクを開く方法をマクロで変更したいNo.11166
western さん 23/04/03 15:07 [ コメントを投稿する ]
  ブラウザ枠内のHTMLリンクを開く方法をマクロで変更したいです

-1: 無視する (リンクを開かない)
 0: 既定のブラウザ枠で開く
 1: 共通ブラウザ枠で開く
 2: 個別ブラウザ枠で開く
 3: 外部の標準ブラウザで開く
 4: 特定のコマンドラインとして実行 (コマンドラインは別にマクロ命令で指定)

こんな感じで
[ ]
RE:11166 ブラウザ枠内のHTMLリンクを開く方法をマクロで変更しNo.11173
秀丸担当 さん 23/04/04 10:12 [ コメントを投稿する ]
  ブラウザ枠のリンクは、新しいウィンドウが出てしまうことがあるので、そのあたり何かしら制御したいということがあります。
別話題のExecuteScriptの話と同じようなことになってしまいますが、リスクは避けたいところです。
任意のコマンドなど間に挟まるのは避けて、確実に改変することなく別の方法で開くというのならありかもしれないです。

新しいウィンドウはどうにかできたらと思いつつ、枠がどんどん増えるわけでもないので、具体的にどうするかというといい方法は思いついていなくて、どうしたものかと思っています。
このままかもしれません。
もしかしたらブラウザ枠についていろいろ要望があっても、セキュリティ面では多くは受けられないということが増えてしまうかもしれないです。すみません。
[ ]
RE:11173 ブラウザ枠内のHTMLリンクを開く方法をマクロで変更しNo.11177
western さん 23/04/04 17:26 [ コメントを投稿する ]
  https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2newwindowrequestedeventargs
リンクが別ウィンドウとして開いてしまう状況は NewWindowRequested でイベントを監視してキャンセルし
「新しいウィンドウで開く」「このブラウザ枠で開く」「開かない」「このページでは無視する」
といったダイアログ表示からの分岐で制御できると思われます。

秀丸アイコンのウェブブラウザがタスクバーに並んでいるのを見ると違和感がすごいですね

https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2downloadstartingeventargs
ファイルがダウンロードできてしまうのも便利なのか怪しすぎるのか悩ましいところです

https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2navigationstartingeventargs
私が要望した開き方の選択については NavigationStarting イベントを監視して、
遷移をキャンセルするなり、そこから任意の処理に流すだけで実現できると思います

この設定も全体とするのか、拡張子やマクロ別になるのか、インスタンス固有となるのか、ページ遷移しても維持するのか、
悩ましいところですが #11175 の乱数カウンタ番号のロジックで安全な制御自体は容易と思います
[ ]
RE:11177 ブラウザ枠内のHTMLリンクを開く方法をマクロで変更しNo.11183
秀丸担当 さん 23/04/05 10:14 [ コメントを投稿する ]
  新しいウィンドウの選択手段など、ありがとうございます。
選択できるようにするのがいいですね。
そういう感じでやってみようと思います。
[ ]

[ 新規に投稿する ]