gpt4 book ai didi

javascript - 使用 javascript 将 HTML 注入(inject) iPhone 网页的末尾

转载 作者:行者123 更新时间:2023-11-30 13:23:09 27 4
gpt4 key购买 nike

我有一个 UIWebView,我想在它加载后将一些 HTML 注入(inject)到它的末尾。

NSString* javaScript = [NSString stringWithFormat:@"document.body.innerHTML += '%@'", arbitraryHTML];
[self.webView stringByEvaluatingJavaScriptFromString:javaScript];

以上代码有效,但前提是 arbitraryHTML 格式正确。例如。单引号 ' 转义为\'我想在 genearl 中清理 HTML,以便我可以将它传递给 javascript 函数。

我需要转义的其他字符或可能导致问题的字符串是什么?

下面是一些破坏上述代码的 HTML 示例:

<span><a onmouseover=\\\"jQuery\\'# >Test</a></span>"

一般情况下可以做到吗?我还缺少什么?

谢谢!

最佳答案

您需要确保 JS 引擎不会抛出。所以你需要转义单引号和反斜杠。这应该可以解决问题:

arbitraryHTML = [[arbitraryHTML
stringByReplacingOccurrencesOfString:@"\\" withString:@"\\\\"]
stringByReplacingOccurrencesOfString:@"'" withString:@"\\'"]];

请注意,如上所示,您还需要转义 Objective-C 字符串中的反斜杠。

关于javascript - 使用 javascript 将 HTML 注入(inject) iPhone 网页的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9512092/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com