jquery load()可以用来从其他页面加载组件。
$( "#result" ).load( "ajax/test.html #container" );
字符串但是如果#container包含一些动态加载的元素,则load()函数不会在#result元素中呈现这些动态组件。例如:客户评论页面动态加载用户评论。因此,评论不能显示在#result元素中。是否可以使用load()函数来实现这一点,或者是否有其他方法来实现这一点。
#container
#result
load()
l2osamch1#
你碰到的一个问题是你问题的这一部分:源页面有一些动态加载的元素一旦您解决了CORS及其同类,您所做的一切仍然是向远程服务器请求一个静态文件并呈现它。但是,在源站点上,您几乎肯定会找到填充这些元素的其他脚本;这些脚本在源服务器上运行,但不会由您当前的代码执行。您需要在自己的站点上复制这些脚本的执行,包括跨站点拉取其他数据。一个更简单的解决方案是询问源站点的所有者他们是否有外部可用的API,这将允许您将此数据拉过来并自动呈现它。
k10s72fa2#
在PHP中,对于cross origin,你可以得到这样的元素:
//url$url = 'https://url.com'; //get content from the URL$cotnent = file_get_contents($url);//disable errorslibxml_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;}
//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;
}
字符串
nhn9ugyo3#
为什么不使用iframe,否则您需要对这些网站进行管理,因为您需要编辑.htaccess并生成allow-access
iframe
.htaccess
allow-access
3条答案
按热度按时间l2osamch1#
你碰到的一个问题是你问题的这一部分:
源页面有一些动态加载的元素
一旦您解决了CORS及其同类,您所做的一切仍然是向远程服务器请求一个静态文件并呈现它。
但是,在源站点上,您几乎肯定会找到填充这些元素的其他脚本;这些脚本在源服务器上运行,但不会由您当前的代码执行。您需要在自己的站点上复制这些脚本的执行,包括跨站点拉取其他数据。
一个更简单的解决方案是询问源站点的所有者他们是否有外部可用的API,这将允许您将此数据拉过来并自动呈现它。
k10s72fa2#
在PHP中,对于cross origin,你可以得到这样的元素:
字符串
nhn9ugyo3#
为什么不使用
iframe
,否则您需要对这些网站进行管理,因为您需要编辑.htaccess
并生成allow-access