我正在尝试UIWebView
使用以下代码行访问当前选定的文本:
NSString *highlighted = [_webView stringByEvaluatingJavaScriptFromString:@"window.getSelection();"];
但它只返回一个空字符串。关于我所缺少的任何想法?
我正在尝试UIWebView
使用以下代码行访问当前选定的文本:
NSString *highlighted = [_webView stringByEvaluatingJavaScriptFromString:@"window.getSelection();"];
但它只返回一个空字符串。关于我所缺少的任何想法?
试试这个:
NSString * highlighted = [_webView stringByEvaluatingJavaScriptFromString:@"window.getSelection().toString()"];
我也偶然发现了这个问题,这真的很令人沮丧。我不完全记得我从哪里得到解决方案,但它是以下内容;getSelection()
返回一个无法转换为字符串的 JavaScript 对象。您必须将其显式转换为 JavaScript 代码中的字符串:
NSString *highlighted = [_webView stringByEvaluatingJavaScriptFromString:@"window.getSelection().toString();"];
我认为这会有所帮助
NSString *selection = [self.webView stringByEvaluatingJavaScriptFromString:@"window.getSelection().toString()"];
请也检查此链接
迅速: self.webView.stringByEvaluatingJavaScriptFromString("window.getSelection().toString();")
Javascript 末尾的分号是必需的,没有它就不起作用!
用 swift 试试这个:
// stringByEvaluatingJavaScript retunr optional string, hence use if-let block
if let selectedString = self.webView.stringByEvaluatingJavaScript(from: "window.getSelection().toString()") {
print(selectedString - \(selectedString))
}