gpt4 book ai didi

javascript - 安卓 WebView : Execution of javascript from java method called from javascript

转载 作者:太空宇宙 更新时间:2023-11-03 10:51:22 27 4
gpt4 key购买 nike

我有以下 javascript 代码:

    function mine()
{
var i = 3;
AndroidObject.call();
}

其中 AndroidObject 是 javascript 接口(interface)。它有方法 call

    WebView myWebView;

public void call()
{
runOnUiThread(new Runnable()
{
@Override
public void run()
{
myWebView.loadUrl('javascript:alert(i);');
}
});
}

以下代码在 javascript 中执行“i is not defined”时会产生错误,因为 javascript 不会在调用 java 代码的上下文中执行。

是否可以在同一上下文中从 java 方法执行 JS,即在上述情况下使“i”可见?

“i”在此示例中是整数,但它可以是任何类型的对象。

谢谢。

最佳答案

假设i是一个整数,

function mine()

{

var i = 3;

AndroidObject.call(i);

}

WebView myWebView;

public void call(Integer i)
{
Integer temp = i;
runOnUiThread(new Runnable()
{
@Override
public void run()
{
myWebView.loadUrl('javascript:alert(' + temp + ');');
}
});
}

关于javascript - 安卓 WebView : Execution of javascript from java method called from javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12822071/

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