@
Kilerd 站点用了 CloudFlare ,所以国内可能访问有些问题。
http://r6.loli.io/bYjq6f.pngJavaScript 实现部分是这一段:
var link = document.createElement('link');
link.setAttribute('rel', 'stylesheet');
link.setAttribute('type', 'text/css');
link.setAttribute('href', '
http://ccloli.com/test/cross-origin-test.css?_=6');link.addEventListener('load', function(event){
var div = document.createElement('div');
div.setAttribute('id', 'test');
document.body.appendChild(div);
console.log(getComputedStyle(div, '::before').content);
document.body.removeChild(div);
});
document.head.appendChild(link);
这是 CSS 的源码:
#test::before {
content: '{"data": [{"foo": "foo", "bar": "bar"}, {"foo": "bar", "bar": "foo"}], "status": 1, "message": "success"}';
}
控制台输出:
'"{\"data\": [{\"foo\": \"foo\", \"bar\": \"bar\"}, {\"foo\": \"bar\", \"bar\": \"foo\"}], \"status\": 1, \"message\": \"success\"}"'
目前发现 Chrome 和 Firefox 下 str.substr(1, str.length - 2) 就能 JSON.parse(),多余的反斜杠对解析没影响。