问题描述
我正在尝试在JavaScript控制台中使用document.styleSheets[i].cssRules
来读取选项卡的已加载CSS文件。但是,我通常会收到错误:CSsstyleSheet.cssRules getter: Not allowed to access cross-origin stylesheet
。
我发现跨域CSS规则只能呈现,而不能用JavaScript读取,这可能是为了防止某些XSS攻击。我试图通过使用CORS Everywhere Firefox扩展名来绕过此问题,该扩展名已经用于从JS控制台抓取数据的一些跨域AJAX请求,在该控制台中它可以正常工作。但是,它对于读取CSS规则无效。我也尝试了一些类似的Chrome扩展程序,但收到类似的错误消息,并且扩展程序对此没有任何改变。
有没有一种方法可以使浏览器在已加载的选项卡中向JS读取已加载的CSS规则?
如果我只是找到样式表的URL并尝试使用AJAX请求读取它们(我可以这样做),则服务器可能会响应不同的文件。我有兴趣在已加载的标签中阅读已加载HTML的已加载CSS规则。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)