我想从单独的页面“拉”或“加载”整个 div 并将其显示在 div 内的另一个页面上。
每当更新最新消息的实际页面时,我都会更新主页的“最新消息”div。
我想为此使用 php,我不想显示整个第二页,只显示 div 中的信息。
感谢您的任何建议/建议,
杰夫
我推荐带有load()
.
请参阅文档:load() - 加载页面片段
您可以使用 PHP 的DOM 类来远程获取页面并解析 HTML 元素文本...
$dom = new DOMDocument();
$dom->loadHTMLFile('http://us3.php.net/manual/en/book.dom.php');
$div = $dom->getElementById('book.dom');
echo $div->nodeValue;
据我所知,您正在尝试将 AJAX 样式的内容从外部源加载到您的页面中。我一直在考虑这个问题,我认为这是可以做到的。
您需要执行以下操作:
1:使用 curl、url fopen 或类似方法加载外部页面。我推荐卷曲。
2:如果页面获取成功,则初始化一个 DomDocument 对象。
3:使用DOM遍历函数定位div并检索其内容。4:使用您选择的方法将内容插入您的页面。
我没有尝试过实际的实现,因为这只是一个关于如何去做的想法。希望它会给你足够的信息来开始。
jQuery 和 load() 方法是这样的:
$(document).ready(function(){
var myInterval = setInterval(function(){
$("#news_div").load("/news.php");
}, 10000);
});
这将每 10 秒加载一次 news.php 并将其注入 ID 为 div news_div
。
但是,您最好查看 node.js、sockets 等。如果你有很多流量。
扩展@harakiri 评论,您还可以查看 JQuery 的 live 功能,它的功能基本相同,但如果您需要自动完成未来的绑定,live 将执行此操作而不是加载。