我想使用带有多个超链接的导航栏来调用外部HTML页面,但我不想将整个网页重复到其他网页内的代码中。
所以我在考虑点击链接时调用网页,目的是将外部页面插入到我的index.html内的div中。
这可以通过使用PHP代码轻松实现吗?
或者我需要使用jquery?
提前感谢您的回复。
答案 0 :(得分:0)
已更新 如果你想在页面首页加载时在div中加载一个页面,你就可以这样做;
<div id="load_content_div"><?php include "path/to/page"; ?></div>
但如果您不想在页面中使用php代码,请在首次加载时使用jQuery方法将内容加载到div:
$(document).ready(function(){
$('#load_content_div').load('path/to/page');
});
然后在单击链接时使用此命令将页面加载到div:
<div id="load_content_div"></div>
//the hyperlinks
<a href="javascript:;" alt="page1.html">link1</a>
<a href="javascript:;" alt="page2.html">link2</a>
<a href="javascript:;" alt="page3.html">link3</a>
然后你使用像这样的jQuery ajax方法:
$('a').click(function(){
page = $(this).attr('alt');
$.ajax({
type: 'GET',
url: page,
cache: false,
success:function(data){
$('#load_content_div').html(data);
}
});
});
但请记住将jQuery库包含在您的代码中
答案 1 :(得分:0)
我认为你需要php和javascript(jQuery,Ajax)。
您可以将导航作为包含超链接的列表写为html文件。并且你使用php代码包含它。
datainputHbox = QHBoxLayout()
layout = QVBoxLayout(self)
layout.addLayout(datainputHbox)
pagedatainputdeletboxbutton1.clicked.connect(lambda:self.boxdelete(datainputHbox))
def boxdelete(self, box):
然后你可以通过javascript和ajax
包含你的其他html页面答案 2 :(得分:-2)
哦亲爱的,用PHP轻松搞定。 您需要创建一个具有此结构的index.php页面(以及一个startingContent.html,每个页面都有一个html,以便您可以链接它们):
<body>
<div id="menu">
<ul>
<li><a href="?p=content1"> Page 1 </a></li>
<li><a href="?p=content2"> Page 2 </a></li>
</ul>
</div>
<div id="content">
<?php
if(isset($_GET['p'])) {
$pag = $_GET['p'];
}
else {
$pag = "indexContent";
}
include ($pag.".html");
?>
</div>
真人不使用Jquery;)
答案 3 :(得分:-2)
你也可以只使用Jquery:
<script type="text/javascript">
$( document ).ready(function() {
$( "#btn1" ).click(function() {
$( "#display" ).load( "test.html" );
});
});
</script>