Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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_Jquery_Html_Css - Fatal编程技术网

如何使用JavaScript从本地文件读取CSS规则

如何使用JavaScript从本地文件读取CSS规则,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想做的是读取css文件(本地文件)中的内容 但是 我不能使用GET,因为我不使用服务器,也不想使用 我不想允许chrome--允许从文件访问文件 我有一个错误,无法获取协议文件的填充:// 我的目标是保存一个html文件,但在此之前,从链接样式表获取css并将其添加到html文件中 css=' <style>\n' //+ get the css + '</style>\n'; css='\n' //+获取css +“\n”; 您的问题的解决方案是

我想做的是读取css文件(本地文件)中的内容 但是

  • 我不能使用GET,因为我不使用服务器,也不想使用
  • 我不想允许chrome--允许从文件访问文件
  • 我有一个错误,无法获取协议文件的填充://
我的目标是保存一个html文件,但在此之前,从链接样式表获取css并将其添加到html文件中

css=' <style>\n'
    //+ get the css
    + '</style>\n';
css='\n'
//+获取css
+“\n”;

您的问题的解决方案是:

<style>
@import url("style.css");
</style>

@导入url(“style.css”);
链接样式表的经典方式

JQuery方式:

<!doctype html >
<html>
    <head>
       <noscript>
          <link rel="stylesheet" href="test.css" />
       </noscript>
    </head>
    <body>

        <div></div>

        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.js"></script>
        <script>
        $(document).ready(function() {

            $.when($.get("test.css"))
            .done(function(response) {
                $('<style />').text(response).appendTo($('head'));
                $('div').html(response);
            });
        })
        </script>
    </body>
</html>

$(文档).ready(函数(){
$.when($.get(“test.css”))
.完成(功能(响应){
$('').text(response).appendTo($('head'));
$('div').html(响应);
});
})

使用必须将所有路径作为相对路径而不是绝对路径。你的结构应该是这样的:

root
 | - index.html
 | - css
 | -- styles.css
 | -- images
 | --- background.png
 | --- button.jpg
 | - js
 | -- main.js
然后在index.html中使用相对路径:

<html>
    <link href="/css/styles.css"></style>
    <script src="/js/main.css">


当打开
文件://
协议时,CORS规则在浏览器中严格适用:请求的所有资源必须与当前文件处于同一级别或更低级别(目录树中更深)


因此,如果您在
根目录/pages/index.html
中有文件,由于CORS,它无法请求

您想在http服务器提供服务的网页中执行此操作吗?为什么?(不过,您可能需要编写一个web扩展,但也不确定这是否可行)@ThisGuy有两个拇指,您不需要服务器。浏览器能够自己显示静态文件。不涉及服务器端脚本。为什么需要包含样式而不是使用外部源代码?另外,在使用
文件时://
有相当严格的CORS规则。你只能访问相同的目录或更低的目录,而不能访问更高的目录,因此基本上,
。/../js
将不起作用。我想要类似-cssRules()/rules()-insertRule()-deleteRule()@Justinas fi的东西。我将样式包含在file://中,并且我将该文件发送给某个人css将不起作用,但如果我导入样式并将该文件发送给某个人,它将不起作用“我知道这不是使用Javascript“那么你决定回答了吗?@noureddineamrane
@import
或通过js,都是一样的,它不会起作用。在将整个内容发送到其他地方之前,您需要保存包含css的文件。你应该澄清你的问题;)我尽力回答这个问题。。。也许下次运气更好。。。