Android webview 只能访问 js 的方法?

2017-07-31 11:26:45 +08:00
 firhome
我的页面上定义了一个变量 window.xxx

Ios 那可以直接访问到这个变量。

Android 的同事告诉我只能调用我一个 js 方法,然后我通过这个方法来调 Android 的一个方法来把值传给他。

请问各位大佬 是这样嘛? 有没有解决方案呢?
4858 次点击
所在节点    Android
6 条回复
vjnjc
2017-07-31 12:00:26 +08:00
你的意思是 android 只能访问 js 方法,而不能访问 js 变量么?
TJT
2017-07-31 12:18:47 +08:00
webView.evaluateJavascript 想干嘛都行
debuggerx
2017-07-31 12:48:06 +08:00
你就在页面用 eval 写个 get 方法,然后安卓端不就想拿啥拿啥咯
function get(str){
return eval(str);
}
firhome
2017-07-31 13:32:41 +08:00
@vjnjc 是的阿。说只能通过类似:

myWebView.loadUrl("javascript:myFunction()");

这样的方式调我的 js 函数 , 然后我 js 函数再调用 他的方法 把值传过去。
vjnjc
2017-07-31 13:40:25 +08:00
@firhome 其实像 2 楼说的还有 webView.evaluateJavascript()这种方式,但这种方式只有 android 4.4+才能用,有兼容性问题。
而 webview.loadUrl()就没有兼容性问题了,方法就是你提到的。
nicevar
2017-07-31 13:45:01 +08:00
最好做个标准接口操作,不要搞成一旦变动两边都要改

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/379195

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX