【发布时间】:2018-09-27 11:29:54
【问题描述】:
抱歉,如果这是一个重复的问题,但我找不到与我遇到的这个特定问题相关的任何内容。
--
所以我想做的是将 HTML 文件包含到另一个 HTML 文件中。我希望调用 header.html 和 footer.html 以提高效率。
我通常会使用 PHP 执行此操作,但我希望保留所有客户端,因为计划是在混合应用程序中使用 HTML 以在用户测试中测试原型,所以我希望它全部独立。
我发现下面的 jQuery 代码引入了页眉和页脚,这在 HTML 和 CSS 方面效果很好,但我的问题是管理使用 jQuery 的菜单的操作不再起作用。当所有代码都在同一页面上时,它们可以正常工作。
<!DOCTYPE html>
<html>
<head>
<script src="jquery.min.js"></script>
<script>
$(document).ready(function(){
$('#content').load("new.html");
});
</script>
</head>
<body>
<div id="content"></div>
</body>
</html>
我目前在 Mac 上使用我的本地主机,但我也在我的服务器上尝试过。
我也找到了这些链接,但没有运气
How to include an HTML file with jQuery?
jQuery .load() call doesn't execute JavaScript in loaded HTML file
https://github.com/LexmarkWeb/csi.js
所有的结果都是一样的,内容加载没有问题,但操作不起作用。没有显示错误。
还有一些额外的 JS 文件在本地调用,我使用的是 Materialize 框架。
<!-- Scripts-->
<script src="js/jquery-2.1.1.min.js"></script>
<script src="js/materialize.js"></script>
<script src="js/init.js"></script>
<script type="application/javascript">
$(".dropdown-trigger").dropdown();
</script>
物化https://materializecss.com/bin/materialize.js
这是 init.js 中的文件
(function($){
$(function(){
$('.sidenav').sidenav();
}); // end of document ready
})(jQuery); // end of jQuery name space
我不知所措,因为我可以在开发者控制台中看到任何内容,我已在 http://spudatron.net/test/html-include/ 此处上传了代码示例以帮助了解我的设置。
如果有人能提供帮助,我将不胜感激。
【问题讨论】:
-
您很可能需要在加载回调中重新初始化 js(即加载完成时)
-
能否提供new.html的内容
-
感谢 Pete 的回复,您有我如何做到这一点的示例吗?
-
嗨@irsha____D,如果有帮助,我在这里上传了一个示例spudatron.net/test/html-include。示例中的 3 个文件 spudatron.net/test/html-include/index.html、spudatron.net/test/html-include/header.html、spudatron.net/test/html-include/footer.html