最后它很简单。感谢 TOndrej 提供的“入门”链接,它帮助我解决了这个问题。我还意识到它可以与 MS Edge Beta (84.0.522.28) 一起使用,因此不需要金丝雀,如 Marco Cantu 所述:https ://blog.marcocantu.com/blog/2020-may-edge-browser-component.html . 我希望它很快就能与官方的 MS Edge 一起使用。以下是一些代码片段:
德尔福:
procedure TForm1.Button1Click(Sender: TObject);
begin
EdgeBrowser1.Navigate(ExtractFilePath(ParamStr(0)) + 'index.html');
end;
procedure TForm1.EdgeBrowser1WebMessageReceived(Sender: TCustomEdgeBrowser; Args: TWebMessageReceivedEventArgs);
var
Msg: PChar;
begin
Args.ArgsInterface.Get_webMessageAsJson(Msg);
MessageBox(Handle, Msg, PChar(EmptyStr), MB_OK);
end;
HTML:
<!DOCTYPE html>
<html>
<body>
<p onclick="handleClick()">Click me</p>
<script>
function handleClick() {
window.chrome.webview.postMessage({ data: 'Message from Edge Chromium', url: window.document.URL });
}
</script>
</body>
</html>