Javascript 在UIWebView中插入HTML
我尝试使用内容可编辑的UIWebView制作富文本编辑器,因为UITextView没有任何扩展。我想知道如何以编程方式替换选择或插入HTML代码(例如,创建指向所选文本的链接,或实现搜索/替换功能)。我试过:Javascript 在UIWebView中插入HTML,javascript,html,ios,uiwebview,contenteditable,Javascript,Html,Ios,Uiwebview,Contenteditable,我尝试使用内容可编辑的UIWebView制作富文本编辑器,因为UITextView没有任何扩展。我想知道如何以编程方式替换选择或插入HTML代码(例如,创建指向所选文本的链接,或实现搜索/替换功能)。我试过: [self.webTexteView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.ExecCommand('insertHTML', false, '%@')", myString
[self.webTexteView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.ExecCommand('insertHTML', false, '%@')", myString]];
但它不起作用。。。你知道有没有解决办法吗
谢谢
Denis您可以使用
loadHTMLString:
消息将html加载到您的Web视图中。我想那不是你想要的
加载一些html后,您有两个选项可以在webview中的javascript和objective-c代码之间进行通信。1由objective-c启动,2由javascript启动
stringByEvaluatingJavaScriptFromString:
消息执行javascript。这是非常灵活的,可以用于注入代码和调用现有代码。例如,您可以执行[webView stringByEvaluatingJavascriptFromString:@“document.getElementById(\“editor\”).innerHTML”]
从id为editor的div获取内容webView:shouldStartLoadWithRequest:navigationType:
获得通知。这使您有机会从url提取信息,并通过返回NO
取消任何进一步的加载。例如,在javascript中,您可以执行document.location=“bold”当光标经过一些粗体文本时,代码>。这将使您有机会更新ui以反映这一点
这已经很晚了,但万一有人看到你原来的解决方案,你只是意外地
document.ExecCommand
应该是
document.execCommand
我用小写字母e测试了它,它可以工作。这是我使用的第一个选项,使用“stringByEvaluatingJavaScriptFromString:”,它可以完美地使选择变为粗体或斜体。我很高兴不必使用loadHTMLString。。。因为我会失去选择权,不得不在不知道范围的情况下进行查找/替换…我不能投票,因为我是这个网站的新手。。。仍然没有找到解决这个问题的方法。。。NSText是OSX上的一个很好的解决方案,可能是为了降低MS Word在Macintosh上的统治地位。在iOS上,没有微软,没有苹果的努力。。。这有助于这家公司销售他们的“页面”应用程序,这绝对不是大多数文本饥渴者的解决方案。。。