使用jquery load()加载动态内容

hi3rlvi2  于 2023-11-17  发布在  jQuery
关注(0)|答案(3)|浏览(122)

jquery load()可以用来从其他页面加载组件。

  1. $( "#result" ).load( "ajax/test.html #container" );

字符串
但是如果#container包含一些动态加载的元素,则load()函数不会在#result元素中呈现这些动态组件。
例如:客户评论页面动态加载用户评论。因此,评论不能显示在#result元素中。
是否可以使用load()函数来实现这一点,或者是否有其他方法来实现这一点。

l2osamch

l2osamch1#

你碰到的一个问题是你问题的这一部分:
源页面有一些动态加载的元素
一旦您解决了CORS及其同类,您所做的一切仍然是向远程服务器请求一个静态文件并呈现它。
但是,在源站点上,您几乎肯定会找到填充这些元素的其他脚本;这些脚本在源服务器上运行,但不会由您当前的代码执行。您需要在自己的站点上复制这些脚本的执行,包括跨站点拉取其他数据。
一个更简单的解决方案是询问源站点的所有者他们是否有外部可用的API,这将允许您将此数据拉过来并自动呈现它。

k10s72fa

k10s72fa2#

在PHP中,对于cross origin,你可以得到这样的元素:

  1. //url
  2. $url = 'https://url.com';
  3. //get content from the URL
  4. $cotnent = file_get_contents($url);
  5. //disable errors
  6. libxml_use_internal_errors(true);
  7. //Load HTML
  8. $dochtml = new DOMDocument();
  9. $dochtml->loadHTML($cotnent);
  10. //Get the ID that you want
  11. $elm = $dochtml->getElementById('elementid');
  12. if ($elm){
  13. //elm content
  14. echo $elm->nodeValue;
  15. }

字符串

展开查看全部
nhn9ugyo

nhn9ugyo3#

为什么不使用iframe,否则您需要对这些网站进行管理,因为您需要编辑.htaccess并生成allow-access

相关问题