HTML静态页如何引入公共的头部和底部

本文探讨了如何通过`load`方法加载外部HTML文件遇到的跨域问题,介绍了使用iframe作为解决方案,以及将HTML文件部署到服务器的重要性。两种方法的优缺点和适用场景详细说明了避免跨域错误的方法。

第一种就是用的jqery的 load 方法 也是公认最好的方法

$("#header").load("page/header.html");


参考代码

<body>JavaScript
 <div id="header"></div>
 <div id="footer"></div>
 <script>
 $("#header").load("page/header.html");//load 方法参数是引入公共文件的路径
 $("#footer").load("page/footer.html");
 </script>
</body>


但是这个方法有个弊端 就是会出现跨域
如果出现下面的报错信息 就是出现了跨域问题

No 'Access-Control-Allow-Origin' header is present on the requested resource

是因为load用的ajax,跨域会报错。如果是本地file测试,不要用webkit核心浏览器如chrome,否则要发布网站通过http协议访问

但是有解决办法

  • 就是把公共的HTML文件放在服务器中就可以了
  • 在公共文件中 html,head,body这种标签,要去掉

iframe 标签的方法
参考代码

<head>
</head>
<body>
 <div id="header">
 <iframe align="center" width="100%" height="170" src="header.html" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
 </div>
 <div id="fotter">
 <iframe align="center" width="100%" height="170" src="fotter.html" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
 </div>
</body> 


src 就是引入文件地址
注意:
body{margin:0; padding:0;}
要去除默认样式 要不然会有留白。
这两种就可以解决问题了 其他的都太坑了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值