jquery load()可用于从其他页面加载组件。
$( "#result" ).load( "ajax/test.html #container" );
但如果#container
包含一些动态加载的元素,则load()函数不会在#result
元素中呈现这些动态组件。
Ex:客户评论页面动态加载用户评论。因此,评论无法在#result
元素中显示。
是否可以使用load()
函数来实现此目的,或者是否有其他方法可以实现此目的。任何帮助都会有所帮助。
(请在下载问题之前发表评论。这对我来说有助于改进这个问题)
由于
干杯
答案 0 :(得分:2)
您遇到的一个问题是问题的这一部分:
源页面包含一些动态加载的元素
一旦你解决了CORS及其类似问题,你所做的一切仍然是向远程服务器询问静态文件并进行渲染。
但是,在源站点上,您几乎肯定会找到填充这些元素的其他脚本;这些脚本在源服务器上运行,但不会由当前代码执行。您需要在自己的站点上复制这些脚本的执行,包括提取其他数据。
更简单的解决方案是询问源站点的所有者是否有外部可用的API,这样您就可以将这些数据拉过来并自动呈现。
答案 1 :(得分:1)
在PHP上,对于交叉起源,您可以获得如下元素:
//url
$url = 'https://url.com';
//get content from the URL
$cotnent = file_get_contents($url);
//disable errors
libxml_use_internal_errors(true);
//Load HTML
$dochtml = new DOMDocument();
$dochtml->loadHTML($cotnent);
//Get the ID that you want
$elm = $dochtml->getElementById('elementid');
if ($elm){
//elm content
echo $elm->nodeValue;
}
答案 2 :(得分:0)
为什么不使用iframe
,否则您需要对这些网站进行管理,因为您需要进行编辑
.htaccess
并制作allow-access