通过在其中查找字符串的位置来突出显示webview中的文本

时间:2014-05-27 06:36:54

标签: ios webview

我在webview中打开了一个文档。该文档也使用avspeech合成器框架阅读。我想突出显示当前正在发言的字符串。有没有办法做到这一点?

我只能在avspeechsynthesizer的整个输入字符串中获取当前正在说话的字符串的位置。有没有办法在webview中使用此位置突出显示该字符串?

我想在字符串上绘制矩形,而不是通过更改突出显示文本的颜色来重新加载webview。因此,最好在webview中找到该字符串的框架。有人可以建议我一个解决方案吗?

1 个答案:

答案 0 :(得分:0)

您需要从iOS应用到html / javascript页面建立桥接。

基本是: 从iOS应用程序到html / javascript:

[webview stringByEvaluatingJavaScriptFromString:@"var x = 5; foo(x); goo(x);"]

从html / javascript你可以通过重定向进行通信,这将在UIWebView委托方法中捕获:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

返回NO。

一个例子,在javascript内容中进行虚假重定向:

window.location = "my-bridge#var1#var2;

以上行代码将触发UIWebView。

希望有所帮助。