如何避免在javascript字符串中解析换页符?
我有一个包含此字符串的变量
var css = 'content: "\f005"';
但是我使用它时字符串不会保持不变。例如。 console.log(css)
提供content: "005"
我的解决方案"到目前为止这是里尔黑客
decodeURIComponent(
encodeURIComponent(css).replace(/%0C/g, "\\f")
);
有更好的方法吗?
我正在构建一个Web小部件,我想要一个没有CSS文件依赖的JS库。因此,当我构建我的项目时,我读取缩小的css文件,并将其作为字符串注入JS文件。当JS lib在客户端初始化时,它会创建一个<style>
元素并在那里注入css。
var style = document.createElement('style');
style.type = 'text/css';
var css = '...long css string...'; // form feed characters must be escaped
style.innerHTML = css;
document.getElementsByTagName('head')[0].appendChild(style);
答案 0 :(得分:5)
如果要在Javascript字符串文字中编写文字字符\f
,则需要转义反斜杠:
var css = 'content: "\\f005"';
否则\f
被解释为换页符。