如何在Swift中创建一个Javascript安全字符串?
How can you create a Javascript safe string in Swift?
当评估Javascript时,例如:
self.evaluateJavaScript("window.messenger.sendMessage(''(message)');
我如何确保消息是字符串类型,我可以安全地传递到这个方法?我可以想象一个引号或者换行符已经把事情搞砸了
extension String {
var javaScriptString: String {
var safeString = self as NSString
safeString = safeString.stringByReplacingOccurrencesOfString("''", withString: "''''")
safeString = safeString.stringByReplacingOccurrencesOfString("'"", withString: "'''"")
safeString = safeString.stringByReplacingOccurrencesOfString("''", withString: "''''")
safeString = safeString.stringByReplacingOccurrencesOfString("'n", withString: "''n")
safeString = safeString.stringByReplacingOccurrencesOfString("'r", withString: "''r")
safeString = safeString.stringByReplacingOccurrencesOfString("'t", withString: "''t")
safeString = safeString.stringByReplacingOccurrencesOfString("'u{0085}", withString: "''u{0085}")
safeString = safeString.stringByReplacingOccurrencesOfString("'u{2028}", withString: "''u{2028}")
safeString = safeString.stringByReplacingOccurrencesOfString("'u{2029}", withString: "''u{2029}")
return safeString as String
}
}
简单地使用stringByReplacingOccurrencesOfString()
来替换引号,同时为了方便创建一个扩展名:
extension String {
var stringWithoutQuote: String {
return self.stringByReplacingOccurrencesOfString("'", withString: "").stringByReplacingOccurrencesOfString("'"", withString: "")
}
}
self.evaluateJavaScript("window.messenger.sendMessage(''(message.stringWithoutQuote)');
相关文章:
- 我应该如何从xml文件构建一个javascript页面
- 有没有一个javascript图形绘制库可以进行气球树布局
- 如何将一个JavaScript函数回调为多个函数
- 代码背后调用一个JavaScript函数的按钮点击-C#
- 多次调用另一个javascript函数中的javascript函数
- HTML外部javascript加载另一个javascript
- 在一个javascript文件中为整个网站创建标签
- 在任何AJAX调用之前触发一个javascript函数
- 如何用另一个Javascript更改Javascript函数值
- 动态创建一个javascript/jquery多级数组
- 将变量值从一个javascript传递到另一个javascript
- 获取一个javascript对象attr's
- 是一个javascript bookmarklet,可以设置破坏跨域安全的域cookie
- PNG图像被覆盖,但每个图像都有一个链接可以更改,每次一个-Javascript/jQuery/CSS
- 添加一个javascript函数来下载elfinder上的事件
- 有没有一个Javascript代码可以看到你的缓存有多满
- 使用jenkins从不同文件夹中的文件构建一个javascript文件
- 是否有一个javascript库来解析简单的查询
- 一个javascript实现base64图像编码并将结果写入文本文件
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器