首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery动态加载本地文件

JQuery动态加载本地文件
EN

Stack Overflow用户
提问于 2012-03-16 05:22:39
回答 2查看 7K关注 0票数 1

我正在开发一个HTML原型,页面中的所有静态内容都保存在不同的文件中。我想在我的HTML原型中使用这些文件。下面是调用这两个HTML包含文件的HTML代码。

代码语言:javascript
复制
<div class="include-file" file="header.html"></div>
<div class="include-file" file="footer.html"></div>

我使用jquery load()方法来包含这些文件。

代码语言:javascript
复制
$(function () {
    var fileName = $(".include-file").attr('file');
     $(".include-file").load(fileName);
});

当我在一个页面中只包含一个文件时,这个函数工作得很好。

问题:

1.当我包含两个文件时,第二个文件(footer.html)不会加载,第一个文件(header.html)加载两次。

2.单个文件加载在FF、IE9中有效,但在Chrome中不起作用。(注意:所有文件都是本地文件,我不打算使用web服务器,因为这只是一个原型)

EN

回答 2

Stack Overflow用户

发布于 2012-03-16 05:25:50

您在每个.load上使用相同的文件名。尝试下面这样的方法,

代码语言:javascript
复制
$(function () {
    $(".include-file").each (function () {
       $(this).load($(this).attr('file'));
     });
});

这应该可以解决您的第一个问题。

尝试使用Ways to circumvent the same-origin policy解决您的第二个问题。

票数 5
EN

Stack Overflow用户

发布于 2012-03-16 05:27:49

代码语言:javascript
复制
$(".include-file").load(fileName);

此行为所有元素加载,选择器为"include-file“类,对这两个元素也是如此。

编辑:也许你也可以使用以下代码(未测试)

代码语言:javascript
复制
$('div[file="'fileName'"').load(fileName);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9728371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档