如何使用evaluateJavaScript 将数据从WKWebview 发送到HTML 文件| iOS | Objective-C
Posted
技术标签:
【中文标题】如何使用evaluateJavaScript 将数据从WKWebview 发送到HTML 文件| iOS | Objective-C【英文标题】:How to send data from WKWebview to HTML file using evaluateJavaScript | iOS | Objective-C 【发布时间】:2020-04-01 13:06:22 【问题描述】:我需要将某些值从 WKWebview 传递给我的 html。
这是我已经尝试过的代码片段。
[self.webView evaluatejavascript:@"document.getElementById('popo_data').innerHTML = feed,OMG,BTC;" completionHandler:^(NSString *result, NSError *error)
if(error != nil)
NSLog(@"######## SomeFunction Error: %@",error);
return;
NSLog(@"######## SomeFunction Success");
];
【问题讨论】:
【参考方案1】:这看起来不像是格式正确的 JavaScript,因为您分配给 #popo_data
元素的字符串周围缺少引号。我想你在这里遇到了语法错误。
尝试以下方法:
document.getElementById('popo_data').innerHTML = "feed,OMG,BTC"
如果这不起作用,您可以通过将调试器连接到您的设备或模拟器来使用 Safari 调试您的 webview。 Safari 首选项 > 选中“在菜单栏中显示开发菜单”。
【讨论】:
WKJavaScriptExceptionMessage=TypeError: null is not an object (evalating 'document.getElementById('popo_data').innerHTML = 'feed,OMG,BTC' '),尝试您的代码时出现此错误。 那么这很可能是在评估时,Web 文档中没有带有id="popo_data"
的 HTML 元素。以上是关于如何使用evaluateJavaScript 将数据从WKWebview 发送到HTML 文件| iOS | Objective-C的主要内容,如果未能解决你的问题,请参考以下文章
使用 evaluateJavascript 处理来自 Android WebView 的 Promise
使用 EvaluateJavaScript 单击按钮的意外行为
使用 evaluateJavaScript 从 WKWebView 获取标题
WKWebView 中的 Javascript - evaluateJavaScript 与 addUserScript