转义HTML标记.字符集编码可能出现的任何问题
Escape HTML tags. Any issue possible with charset encoding?
我有一个函数来转义HTML标记,以便能够将文本插入HTML中。非常类似于:我可以在javascript中转义html特殊字符吗?
我知道Javascript内部使用Unicode,但HTML页面可能用不同的字符集编码,如UTF-8或ISO8859-1等
我的问题是:这个非常简单的转换有什么问题吗?还是应该考虑页面字符集?
如果是,如何处理?
PS:例如,等价的PHP函数(http://php.net/manual/en/function.htmlspecialchars.php)具有用于选择字符集的参数。
不,JavaScript生活在Unicode世界中,所以编码问题对它来说通常是看不见的。链接问题中的escapeHtml
是可以的。
我唯一能想到JavaScript可以看到字节的地方是data:
URL(通常隐藏在base64下面)。所以这个:
var markup = '<p>Hello, '+escapeHtml(user_supplied_data);
var url = 'data:text/html;base64,'+btoa(markup);
iframe.src = url;
原则上是件坏事。虽然我不知道有哪个浏览器会在这种情况下猜测UTF-7,但应该提供charset=...
参数,以确保浏览器对数据使用适当的编码。(btoa
使用ISO-8859-1。)
相关文章:
- 客户端图像调整大小.任何已知问题
- setTimeout调用自身的任何问题
- 递归Javascript对象是否会导致任何问题(内存泄漏)
- 同步 Ajax 请求将导致页面上出现任何问题
- 通过抛出setTimeout()来处理JavaScript异常的任何问题
- 对jQuery使用setTimeout()是否有任何问题;媒体查询“;类型情况
- 页面速度 - 仅使用 defer 属性的任何问题
- 对函数表达式和我分配函数表达式的变量使用相同的标识符是否存在任何问题
- 直接从rails视图发送javascript的任何问题
- JavaScript表单提交不会发生任何问题
- 当模式位于单独的文件中时,创建模型时是否存在任何问题
- 转义HTML标记.字符集编码可能出现的任何问题
- NodeJS GZip压缩-任何问题
- 使用typeof窗口的任何问题.postMessage === undefined
- 将属性或函数附加到函数对象上是否有任何问题?
- 是否有任何问题使用JQuery/JavaScript应用大量的CSS样式
- 无限制地使用数组,不用担心任何问题
- 我的JavaScript是否有任何问题,应该通过Web API(在Azure上)返回JSON
- 将visibility=hidden设置为一个已经在javascript中隐藏的按钮,这会产生任何问题吗?
- 当我试图连接数据库时,是否有任何问题?