gpt4 book ai didi

javascript - 如何使用 Dart 向 JavaScript 函数发送和接收变量?

转载 作者:行者123 更新时间:2023-12-04 01:23:53 25 4
gpt4 key购买 nike

我一直在使用一些代码(由 John Evans 编写)在 Dart 中执行 javascript:

void injectJavascript(String javascript, [bool removeAfter = false]){
var s = new Element.tag("script");
s.attributes["type"] = "text/javascript";
s.text = javascript;
document.body.nodes.add(s);
if (removeAfter != null && removeAfter)
s.remove();
}

injectJavascript("alert('using javascript')");

但我无法发送或返回变量。这目前可能吗?如果没有,知道什么时候可以实现吗?

最佳答案

您需要使用 postMessage去做这个。例如,如果您已将变量转换为 JSON,那么您可以在 Dart 中执行此操作

window.postMessage(jsonMessage, "*");

然后像这样从 JavaScript 端获取它

function recieveMessage(event) {
var message = JSON.parse(event.data);
:
}
window.addEventListener("message", receiveMessage, false);

如果您需要使用更高级的东西,例如双向通信和回调,请查看 DartGap 的代码,尤其是 DeviceMessageRouter类和 javascript integration层。

关于javascript - 如何使用 Dart 向 JavaScript 函数发送和接收变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10676228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com