ブラウザ枠noNo.40437
western さん 23/04/02 04:14
 
ブラウザ枠に対して

ExecuteScriptを実行できる秀丸マクロ命令をお願いします。
内部が非同期な処理ですが返り値を文字列として取得できるのであれば何とでもなる
でしょう
https://learn.microsoft.com/ja-jp/microsoft-edge/webview2/reference/win32/icorewebview2#executescript

PostWebMessageAsStringとPostWebMessageAsJsonを送る秀丸マクロ命令を追加お願い
します
ブラウザ枠側にwindow.chrome.webview.addEventListenerが生えていることは確認で
きたので多分受信できると思います
https://learn.microsoft.com/ja-jp/microsoft-edge/webview2/reference/win32/icorewebview2#postwebmessageasjson

秀丸JavaScriptマクロに上記命令が対応あれば嬉しいです

[ ]
RE:40437 ブラウザ枠noNo.40438
こみやんま さん 23/04/02 12:40
 
3/3に以下のようなやり取りをβ版の方の掲示板にてしていました。

https://www.maruo.co.jp/turukame/3/x11128_.html#11129
https://www.maruo.co.jp/turukame/3/x11137_.html#11137

個人的にはExecuteScriptAsync(でもSyncでも)して、
awaitした評価結果を文字列として得られる
(エラー判定も出来る必要あるり思いますが)
ってのが元々のWebView2の機能に乗るという点では
一番素直だとは思うんですけどねー。


秀丸のブラウザ枠が今のような形でいく場合は、
@nodejs
Aphp自体が持つビルトインサーバー
BWindows自体にIIS入れてBlazorなり

みたいなhttp系のデーモン立てて、
・ブラウザ枠ではポート番号付きでアクセス
・ブラウザ枠は表示とURLもしくはURLにJS埋めたものでプッシュだけ
・状態や結果のやりとりはjsmodeと@-Bのデーモン間で行うみたいな感じになって
しまいますかねぇ。

確かにfileプロトコルではブラウザコンポーネントの機能はなかなか発揮できないの
で、
フル機能を発揮するにはこのデーモン立てる形に行き着きますが、
軽いことやるには大仰に思えて実装を躊躇するのではないかという気もしますし、
「実装方法の型」みたいなものが統一されないのが痛い...

あと、jsmodeでは、fetch等の外部通信に繋がる機能は敢えて使えなくしている
っていうところとの方針の整合性が保てないのかなぁとも。

[ ]
RE:40438 ブラウザ枠noNo.40440
western さん 23/04/02 18:11
 
試してはいないのですが setVirtualHostNameToFolderMapping を利用することで
特定のローカルディレクトリ以下を、任意のホスト名として割り当てて http://
アクセスできるとのネット上の情報がありました。
マクロフォルダ等を http://hidemaru-macro/ のようなURLで出来れば良いのですが……
https://learn.microsoft.com/ja-jp/microsoft-edge/webview2/reference/win32/icorewebview2_3?#setvirtualhostnametofoldermapping
アクセス制限はセキュリティ的にCOREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY指
定でしょうか。

β版話題なので、今後の新しいトピックはそちらにポストするようにします

[ ]
RE:40440 ブラウザ枠noNo.40445
秀丸担当 さん 23/04/03 15:01
 
ブラウザ枠について、いろいろご提案ありがとうございます。
β版会議室のほうにコメントします。

[ ]