在javascript中保持CSS字符串中的换页符不变

时间:2015-06-08 15:19:50

标签: javascript

如何避免在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);

1 个答案:

答案 0 :(得分:5)

如果要在Javascript字符串文字中编写文字字符\f,则需要转义反斜杠:

var css = 'content: "\\f005"';

否则\f被解释为换页符。