日期:2014-05-16  浏览次数:20325 次

蛋疼死了,用jquery無法include html
本帖最后由 Aliceui 于 2013-01-05 00:01:42 编辑
大概是想用include的方式共享header

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

<script>
$("#header").load("header.html");
</script>


<div id="header"></div>
<div class="item"></div>


結果header沒有成功插入,消失了,下面的div直接頂上最上層

已經確定有header.html的存在,而且也是上傳了伺服器,伺服器是用了類似Appserv的軟體架的
jquery html

------解决方案--------------------
没必要非要用load,这样还有一个隐性的问题是如果有二级目录的话,这个header.html就请求不到了。其实直接以字符串的形式拼接插入或许安全一点。

(function(){
    var div = document.createElement('div');
    div.id = 'header';
    $('head').after(div);

    var footstr = '<div class="header_box">\
            <p>csdn计算机科技有限公司  版权所有</p>\
        </div>\
        </div>';
    $('#header').html(footstr);
            
}());

------解决方案--------------------
用 iframe 

或者 服务器端 include
------解决方案--------------------
我晕,这么个功能和load有什么关系
写一个公共的js文件:
$(function(){
    var header = $('#header');
    if(header.length) {
        header.append('<div>一个公共的header</div>');
    }
});
然后每个页面都加载这个js文件就可以了
------解决方案--------------------
比如你的头像的地址:

http://avatar.profile.csdn.net/F/D/1/1_aliceui.jpg

这就是一个绝对路径。

开发时为了方便,可以省去域名: /F/D/1/1_aliceui.jpg

如果所有的图片及ajax请求都这么做, 就没有任何问题了。

千万别用什么相对路径, 大忌
------解决方案--------------------
引用:
為什麼我引入header後會是用了相對路徑?


你用也可以啊, 但是麻烦不断。 无法封装成js到处通用。
代码复制到别的地方, 相对路径变了就傻了……