|
@ URL が file:// あるいは http://localhost
A URL が@ではない外部サイト
▼ 秀丸マクロ⇒WebView2 方向のメッセージ通知
▲ WebView2⇒秀丸マクロ 方向のメッセージ通知
ブラウザ枠 @▼:URLに javascript: で任意
ブラウザ枠 @▲:URLの変化の観測程度(同期的な通知は不可)
ブラウザ枠 A▼:URLのquery等で決められたパラメータを指定できる程度 (ページ遷移発生)
ブラウザ枠 A▲:URLの変化の観測程度(同期的な通知は不可)
レンダリング枠 @▼:URLに javascript: で任意
レンダリング枠 @▲:window.chrome.webview.postMessage()
レンダリング枠 A:指定できない
だったのが、createHttpServer によって
ブラウザ枠 @▲:createHttpServer() に対して GET URL 文字列で任意
ブラウザ枠 A▼:createHttpServer() からの GET レスポンス文字列で任意 (要polling)
ブラウザ枠 A▲:createHttpServer() に対して GET URL 文字列で任意
が出来るようになるのが最大の変化と思われます
server.port と server.key で、悪意のある不正なアクセスはほぼ回避できた上で
server.port と server.key を URL や query で外部ページに受け渡せるのであれば、
ブラウザ枠に表示される任意の外部のウェブサイトから秀丸マクロに任意のテキストを送れる
というのが、従来にない秀丸エディタ特化の外部ウェブサービスが作れるので、これが非常に強力です
(従来でもjsマクロの駆使で外部サイトのAPIレベルの連携は可能だったが、
それが外部のHTMLページ主導で提供されるサービスとして可能になるのが大きなメリット)
こみやんまさんのサンプルで言えば HmTextUpdateServer.html をブラウザ枠に読み込ませるURLが
ローカルである必要が無く、例えば github.io (Pages) 上にホスティングされたURLでも良い
という実演があれば、活用方法(と危険性)に気付く人も出てくると思われます
|
|