使用src / href读取链接或脚本标记的内容

时间:2014-07-20 19:18:11

标签: html web less stylesheet

如何使用

读取文件内容
<link href='path/to/file'/>

我明白如果添加属性类型=&#34; text / css&#34;然后可以使用document.styleSheets读取它们,但我很难弄清楚如何获取该元素的内容。

我知道 lesscss.js lib 使用没有ajax get调用。

来自:http://lesscss.org/#using-less

<link rel="stylesheet/less" type="text/css" href="styles.less" />
<script src="less.js" type="text/javascript"></script>

我需要在页面中包含一些模板,并且越早加载它们就越好,(在jquery和js加载后执行它)

谢谢!

1 个答案:

答案 0 :(得分:1)

我理解你在jquery之前的意思。但在js&#34;之前你是什么意思&#34;

当你加载less.js(不依赖于jQuery)时,浏览器在jquery初始化之前运行less.js。请注意,less.js需要JavaScript。

您可以使用XMLHttpRequest阅读此类文件的内容。可以在以下位置找到告诉您如何执行此操作的基础示例:How to show the compiled css from a .less file in the browser?

关于less.js,您可以在https://github.com/less/less.js/blob/master/dist/less-1.7.4.js

找到该文件的来源
  

我明白如果添加属性类型=&#34; text / css&#34;然后可以使用document.styleSheets读取它们,但我很难弄清楚如何获取该元素的内容。

全球less.js使用两个步骤来做到这一点:

  1. 首先它将构建一个路径列表,如下所示:

    //
    // Get all <link> tags with the 'rel' attribute set to "stylesheet/less"
    //
    var links = document.getElementsByTagName('link');
    
    less.sheets = [];
    
    for (var i = 0; i < links.length; i++) {
        if (links[i].rel === 'stylesheet/less' || (links[i].rel.match(/stylesheet/) &&
           (links[i].type.match(typePattern)))) {
            less.sheets.push(links[i]);
        }
    }
    
  2. 然后使用XMLHttpRequest读取这些文件的内容。请参阅less-1.7.4.js第7720行的doXHR函数。