我正在尝试将我的个人资料从外部网站(网址)插入我的博客。
禁止跨域,因此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);
?>
答案 0 :(得分:0)
这是由于缺少两个javascript文件。您可以尝试将这两个文件添加到本地directiry
<script src="/javascript/core.js?4417dc0"></script>
<script src="/javascript/modules.js?4417dc0">
检查本地目录中所有丢失的文件
答案 1 :(得分:0)
希望它会有所帮助。我有同样的问题这就是我所做的:
我使用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解码回字符串。