Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在UIWebView中插入HTML_Javascript_Html_Ios_Uiwebview_Contenteditable - Fatal编程技术网

Javascript 在UIWebView中插入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

我尝试使用内容可编辑的UIWebView制作富文本编辑器,因为UITextView没有任何扩展。我想知道如何以编程方式替换选择或插入HTML代码(例如,创建指向所选文本的链接,或实现搜索/替换功能)。我试过:

[self.webTexteView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.ExecCommand('insertHTML', false, '%@')", myString]];
但它不起作用。。。你知道有没有解决办法吗

谢谢


Denis

您可以使用
loadHTMLString:
消息将html加载到您的Web视图中。我想那不是你想要的

加载一些html后,您有两个选项可以在webview中的javascript和objective-c代码之间进行通信。1由objective-c启动,2由javascript启动

  • 您可以使用uiwebview上的
    stringByEvaluatingJavaScriptFromString:
    消息执行javascript。这是非常灵活的,可以用于注入代码和调用现有代码。例如,您可以执行
    [webView stringByEvaluatingJavascriptFromString:@“document.getElementById(\“editor\”).innerHTML”]
    从id为editor的div获取内容

  • 通过实现,您可以在每次请求在webView中打开url时通过
    webView:shouldStartLoadWithRequest:navigationType:
    获得通知。这使您有机会从url提取信息,并通过返回
    NO
    取消任何进一步的加载。例如,在javascript中,您可以执行
    document.location=“bold”。这将使您有机会更新ui以反映这一点


  • 这已经很晚了,但万一有人看到你原来的解决方案,你只是意外地

    document.ExecCommand
    
    应该是

    document.execCommand
    

    我用小写字母e测试了它,它可以工作。

    这是我使用的第一个选项,使用“stringByEvaluatingJavaScriptFromString:”,它可以完美地使选择变为粗体或斜体。我很高兴不必使用loadHTMLString。。。因为我会失去选择权,不得不在不知道范围的情况下进行查找/替换…我不能投票,因为我是这个网站的新手。。。仍然没有找到解决这个问题的方法。。。NSText是OSX上的一个很好的解决方案,可能是为了降低MS Word在Macintosh上的统治地位。在iOS上,没有微软,没有苹果的努力。。。这有助于这家公司销售他们的“页面”应用程序,这绝对不是大多数文本饥渴者的解决方案。。。