【问题标题】:PHP file_get_contents() doesn't load external dynamic contentPHP file_get_contents() 不加载外部动态内容
【发布时间】:2016-06-20 01:32:06
【问题描述】:

我正在尝试将我的个人资料从外部网站 (url) 插入我的博客。

禁止跨域,因此 iframe、AJAX 和 jquery 加载不起作用。 PHP file_get_contents() 可以,但不会加载页面内动态生成的内容。

帮助我了解为什么以及如何解决此问题?

我使用这样的代码:

<head>
  <base href="https://bookmate.com/">
</head>

<?php
  $url = 'https://bookmate.com/kirillmazur/finished';
  echo file_get_contents($url);
?>

【问题讨论】:

  • 检查浏览器中发出的请求并使用file_get_contents() 重复它们。
  • 查看下面的答案。他们使用一些 js 文件的本地路径来远程站点。如果您使用的是 file_get_contents,则需要在主机中拥有此本地文件。

标签: php cross-domain file-get-contents


【解决方案1】:

这是由于缺少两个 javascript 文件。您可以尝试将这两个文件添加到本地目录中

  <script src="/javascript/core.js?4417dc0"></script>
  <script src="/javascript/modules.js?4417dc0">

使用ing 浏览器控制台检查本地目录中所有丢失的文件

【讨论】:

  • 这就是我使用“kirillmazur.com/vc/new/bookmate.php 所以问题仍然存在。
  • 使用浏览器控制台获取使用完整的错误消息来调试您的代码。
  • 我总是使用浏览器控制台,看起来你的图像中的这些错误不是我的:) 我认为这是你的 chrome 插件之一(VK。启动可能......)生成控制台错误,因为我没有这样的错误。
【解决方案2】:

希望它会有所帮助。我有同样的问题这是我所做的:

我使用 iframe 和 javascript 来获取包含所有动态加载内容的页面

  contents =document.getElementById('load_page1').contentWindow.document.documentElement.outerHTML;

我在 iframe 中加载了页面

<iframe id="load_page1"></iframe>     

 jQuery(document).ready(function(){
      var url="www.google.com"
        jQuery('#load_page1').attr('src',url);
});

然后从 Javascript 我在按钮单击事件的变量中获取该 iframe 的内容,并通过将其编码为 base64 来通过 ajax 发送它

 <input type="button" id="load_css" />


 jQuery(document).on('click',"#load_css",function(){


contents =document.getElementById('load_page1')
   .contentWindow.document.documentElement.outerHTML;
 contents   =   btoa(contents);


jQuery.ajax({
        url:'process.php',
        data:{contents:contents},
        method:"post"}).done(function(data){
                    jQuery('.css_target').html(data);
        });
});

在 ajax 页面上,我完成了所有处理,将它从 base64 解码回字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 2018-04-25
    • 2012-04-15
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2013-03-29
    相关资源
    最近更新 更多