javascript - 无法在UIWebview中突出显示文本?

标签 javascript ios objective-c uiwebview

我一直在努力突出显示uiwebview中的文本。在这个过程中,我使用了canperformation方法,在这个方法中,我调用一个javascript函数来突出显示文本。让我们在我的网络视图中获取文本是
“这部分太混乱了,而且非常零散”。
在这里,如果我选择文本“所以”单独没有问题,它是突出显示的文本。
但是让我们假设我选择了不止一个单词,比如“sofcomplying and”,它会突出显示,但它运行在一个无限循环中,并不断调用canperformation方法。我不明白为什么会这样。
在ipad中,如果你长按要选择的文本。这里调用我的方法并突出显示选定的文本。然后,如果我拖动蓝色的线来选择更多的文本(我希望你能理解我的意思),那么canperformation就会被调用,并进入无限循环。
我正在检查模拟器。
更新:
我试过你说过的话

NSString *selectedString = @"function getSelText()"
                                "{"
                                "alert('document.execute');"
                                "var sel = window.getSelection();"
                                "if(!sel.isCollapsed){"
                                "var selRange = sel.getRangeAt(0);"
                                "document.designMode = 'on';"
                                "sel.removeAllRanges();"
                                "sel.addRange(selRange);"
                                "alert('document.execute 2');"
                                "document.execCommand('HiliteColor', false, '#ffffcc');"
                                "alert('document.execute 3');"
                                "sel.removeAllRanges();"
                                "document.designMode = 'off';"
                                "alert('document.execute 4');"
                                "}"
                                "}";
[webView stringByEvaluatingJavaScriptFromString:selectedString];

I have given the above code in webViewDidFinishLoad.

In CanPerformAction I gave
-(BOOL)canPerformAction:(SEL)action withSender:(id)sender
{

    if(action == @selector(selectAll:)){

        NSString *setHighlightColorRuling = [NSString stringWithFormat:@"getSelText()"];
        [webView stringByEvaluatingJavaScriptFromString:setHighlightColorRuling];

        return YES;

    }
    return [super canPerformAction:action withSender:sender];

}

在模拟器中运行时,直到最后一个“document.execute 4”出现警报,但在webview中没有效果

最佳答案

请参考此链接:
UIWebView Text Highlighting solution
可能对你有帮助。
祝你好运!!!!

关于javascript - 无法在UIWebview中突出显示文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17722033/

相关文章:

javascript - Highcharts 工具提示在 IE8 上闪烁

javascript - 在 JavaScript 中编写 indexOf 函数

ios - 从不正确的线程访问的 Realm

objective-c - 需要有关在 quartz-2d 中从中心增大和缩小圆的帮助

ios - NSDateFormatter 是否正确格式化了我的时区?

javascript - jQuery 点击事件停止工作

javascript - 如何在VueJs中上传不同字段的多张图片?

ios - 类实例的问题

ios - 更新 UILabel 不起作用

iphone - NSURL 总是返回 Nil