在JavaScript中读取外部链接文件的内容

时间:2010-08-08 11:15:58

标签: javascript hyperlink

在JavaScript中是否有办法获取链接文件的内容而不进行第二次GET请求?也就是说,如果我有

<link rel="foo" href="bar.txt">

浏览器应自动下载bar.txt。有没有办法在不再获取内容的情况下阅读其内容(即通过jQuery的$.get或类似内容)?


修改

可以使用第二个GET请求,并且如评论中所提到的那样可能不会有性能损失,但这个问题主要是一个思想实验:看起来它很漂亮标准功能,但越来越多的事情指向这是不可能的。有原因吗?

1 个答案:

答案 0 :(得分:1)

如果标签绝对没有其他目的而不是源的占位符,那么目标是防止第一次获取而不是第二次;)通过使用另一个属性,您可以避免默认行为。

<link data-src='file.txt' />

'data -...'是您现在可以使用的有效HTML5属性,但如果声明了较旧的doctype但仍然有效,则html将无效。

接下来使用jQuery时:

$('link[data-src]').each(function(){
    var self = $(this)
    , src = self.attr('data-src');
    $.get(src, function(fileContent){
        // do stuff with fileContent
    })
});

显然,当使用'data -...'时,任何元素都会使用link元素,我自己使用这种技术在基于组件的体系结构中添加数据,将资源和元信息延迟绑定到组件而不影响默认行为/再现。