Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript从外部文件读取CSS?_Javascript_Css_Regex_Jsonp - Fatal编程技术网

使用JavaScript从外部文件读取CSS?

使用JavaScript从外部文件读取CSS?,javascript,css,regex,jsonp,Javascript,Css,Regex,Jsonp,我希望能够在一个页面上为一个内部工具加载的所有CSS文件上运行正则表达式。这使我能够lint CSS文件并检查任何冲突声明 通过迭代document.stylesheets并获取cssRules的值,这对本地文件非常有效 但是,对于从外部站点(如Typekit、Google Fonts等)加载的CSS,cssRules返回null,请参见图片 我尝试使用JSONP获取该文件,但它返回了一个无效的令牌,因为它可能需要JSON,并且得到了CSS的响应。有没有我还没有考虑过的解决方法 为了完整性,下面

我希望能够在一个页面上为一个内部工具加载的所有CSS文件上运行正则表达式。这使我能够lint CSS文件并检查任何冲突声明

通过迭代document.stylesheets并获取cssRules的值,这对本地文件非常有效

但是,对于从外部站点(如Typekit、Google Fonts等)加载的CSS,cssRules返回null,请参见图片

我尝试使用JSONP获取该文件,但它返回了一个无效的令牌,因为它可能需要JSON,并且得到了CSS的响应。有没有我还没有考虑过的解决方法

为了完整性,下面是我尝试过的JSONP测试:

$.ajax({
    type: 'GET',
    url: "path/to/file.css",
    jsonp: "callback",
    dataType: "jsonp",
    success: function(response) {
        var test = JSON.stringify(response);
        console.log(test);
    }
});

是否可以从这些样式表中获取CSS作为字符串,我可以通过我的正则表达式传递它?

尝试使用完整的CSS链接,只使用ajax的url属性

演示: $.ajax{ url://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/css/bootstrap-theme.min.css } .Donefunction结果{ $'.style'.htmlresult; }; .风格{ 最大宽度:300px; 最大高度:300px; 溢出:自动;
没有办法解决这个问题,css不是JSON,也不是JSONP,除非您从中获取文件的主机启用跨源共享,否则您无法使用客户端javascript获取这些文件。您可以创建一个PHP脚本,使用curl获取样式表,例如,通过AJAX将其返回到页面供您处理。