如何用JS获取一个.css文件里的内容,存成一个string的形式?

我们的需求很奇葩,就是一个网页加载完毕之后,我要获取这个网页通过link链接的css文件的内容。存成一个String,请问这个用js怎么做啊?

阅读 5.6k
4 个回答

把link的连接 传给后台 后台自己根据连接去抓取内容 进行存储就是了
前端即使用jsonp去获取内容 也需要后台支持

比如在http://jquery.com/

$.get( 'http://jquery.com/jquery-wp-content/themes/jquery.com/style.css', function( data ) {   console.log( data ) });
Array.prototype.forEach.call(document.querySelectorAll('link[rel="stylesheet"]'), link => xhr.get(link.href))

1、建议发送 http 请求

var link = document.getElementById('testCss');
var xhr = new XMLHttpRequest();
xhr.open("GET", link.href)
xhr.onreadystatechange = function() {
    if (xhr.readyState === 4 && xhr.status === 200) {
        console.log(xhr.responseText);
    }
}
xhr.send();

效果

clipboard.png

2、可以通过 document.styleSheets[1].cssRules 获得相应的 link 标签的 css 规则,但是 chrome 下返回 null 截图是 FF 的,之前有人反映过这个问题

clipboard.png

3、如果可以的话,建议通过 js 获取 计算样式处理会比较好,类似这样:
window.getComputedStyle(document.documentElement).marginLeft

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题