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

时间:2018-04-18 11:33:39

标签: javascript jquery html css

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

  • 我不能使用GET,因为我不使用服务器,我不想
  • 我不想允许chrome --allow-file-access-from-files
  • 我有一个错误,无法通过协议文件获取文件://

我的目标是保存一个html文件,但在此之前从链接样式表中获取css并将其添加到html文件之间

css=' <style>\n'
    //+ get the css
    + '</style>\n';

2 个答案:

答案 0 :(得分:0)

您的问题的解决方案是:

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

链接样式表的经典方法。

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>

答案 1 :(得分:0)

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

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">

file://协议上,CORS规则严格适用于浏览器:所请求的所有资源必须与当前文件相同或更低(在目录树中更深)。

因此,如果您在root/pages/index.html中有文件,则因为CORS而无法请求../css/styles.css