首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webkit与本机环境通信

问Webkit与本机环境通信
EN

Stack Overflow用户
提问于 2010-07-15 23:27:58
回答 2查看 5.4K关注 0票数 3

如果我在Android或iPhone应用程序中加载了webkit视图,我可以在webkit中来回传递数据吗?

例如,我是否可以从web上拉下一个html视图,并使用存储在我设备上的数据填充该视图中的表单?

EN

回答 2

Stack Overflow用户

发布于 2010-07-15 23:32:26

可以在使用addJavaScriptInterface()的安卓系统中使用。

代码语言:javascript
复制
class MyInterface {
    private String someData;
    public String getData() { return someData; }
}

webview.addJavaScriptInterface(new MyInterface(), "myInterface");

在你的网页视图的html中。

代码语言:javascript
复制
<script type="text/javascript">
     var someData = myInterface.getData();
</script>

顺便说一句,如果你使用的网页不是你的(所以你不能修改它),你可以内联插入javascript。例如:

代码语言:javascript
复制
webview.loadUrl("javascript:document.getElementById('someTextField').value = myInterface.getData();");
票数 9
EN

Stack Overflow用户

发布于 2010-07-15 23:55:31

对于iPhone,您可以使用stringByEvaluatingJavaScriptFromString从Objective-C调用JavaScript函数。

例如,要获取名为“fname”的输入字段的值:

代码语言:javascript
复制
NSString * fString =[webView stringByEvaluatingJavaScriptFromString:@"document.getElementByName(\"fname\").value"]; 
NSLog(@"fString: %@",fString);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3257106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档