【问题标题】:iOS - print javascript as text in uiwebview not to executeiOS - 在uiwebview中将javascript打印为文本而不执行
【发布时间】:2017-06-03 09:17:05
【问题描述】:

><svg/onload=alert(document.domain)> 我想在 uiwebview 中打印此文本。现在它给了我警报“myapplication.app”并且没有显示任何文本。

要加载 html 字符串,我正在使用 [webView loadHTMLString:HtmlString baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]]; 这段代码。

基本上我想在UIWebView 中将javascripts 打印为文本,并且不希望它们被执行。 谢谢。

【问题讨论】:

    标签: javascript ios xcode uiwebview


    【解决方案1】:

    我认为您可以通过将 <svg/onload=alert(document.domain)> 替换为 HtmlString 中的字符串来做到这一点。

    HtmlString = [HtmlString stringByReplacingOccurrencesOfString:@"<svg/onload=alert(document.domain)>" withString:@"\"<svg/onload=alert(document.domain)>\""];
    

    【讨论】:

    • 这只是一个演示字符串。如果我有这种多字符串怎么办?并将它们打印为文本。
    • 我现在想不出替代解决方案,但您可以通过创建一个可变参数方法来概括该解决方案,该方法采用 html 字符串和您希望它们显示为字符串的字符串。
    • 不客气,希望对您有所帮助或您找到更好的解决方案。
    【解决方案2】:

    嗯,我找不到任何解决方案。我使用UIWebview 的唯一原因是显示 html 链接。但由于UITextview 也可以显示链接,我将元素从UIWebview 更改为UITextview。解决了javascript文本执行的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      • 2017-09-25
      相关资源
      最近更新 更多