问题与目标C传递对象到JavaScript函数调用
问题描述:
下面是发生了什么事情的一个例子:看起来,当一个单词中使用撇号,例如我发送到JavaScript时,它不工作在我的字符串中函数调用。我已经阅读过关于在撇号前添加反斜杠的内容,但这仍然不起作用。我注意到在js函数调用onScan('%@')时,撇号不能替换为“引号”,并且当使用括号传递参数时也无济于事。同时将NSMutableString更改为NSString不会更改此示例或影响此请求的答案。任何帮助表示赞赏。问题与目标C传递对象到JavaScript函数调用
NSMutableString*messagText= @"I'm posting on stack.";
messageText = [[messageText stringByReplacingOccurrencesOfString:@"'"
withString:@"\'"]
mutableCopy];
NSString *javascriptString = [NSString stringWithFormat:@"onScan('%@')", messageText];
[webView stringByEvaluatingJavaScriptFromString:javascriptString];
答
为了逃避单引号,则需要双反斜线 试试这个:
NSString *messagText= @"I'm posting on stack.";
if ([messagText containsString:@"'"]) {
messagText = [NSString stringWithFormat:@"onScan('%@')",[messagText stringByReplacingOccurrencesOfString:@"'" withString:@"\\'"]];
}
[webView stringByEvaluatingJavaScriptFromString: messagText];
+0
这个工作!....我upvoted这个答案,但我从堆栈中得到了以下回复“感谢您的反馈!投票少于15声誉的投票记录,但不改变公开显示的职位得分。 – Devdude
表明,你已经添加了singlQuote反斜线的代码。 –
这已根据您的要求更新。谢谢! – Devdude
你能解释为什么这个工程? – Devdude