将文件的html内容加载到另一个网页

时间:2013-09-25 16:00:50

标签: php html ajax

所以我有www.siteA.com和www.siteB.com。站点A是我的主站点,站点B是我存储一些网页的主要是html页面。我想将网站B的网页加载到网站A的页面中。到目前为止,我已经搜索了如何执行此操作并找到了这个Insert external page html into a page html,但它不会对我有用。以下是我在上面的链接中使用的代码:

<!DOCTYPE html>
<html>
<head>
<script>
function createRequestObject() 
{
   var obj;
   var browser = navigator.appName;
   if(browser == "Microsoft Internet Explorer"){
      obj = new ActiveXObject("Microsoft.XMLHTTP");
   }else{
      obj = new XMLHttpRequest();
   }
   return obj;
}

function sendReq(req) 
{    
   http.open('get', req);
   http.onreadystatechange = handleResponse;
   http.send(null);
}

function handleResponse() 
{    
   if (http.readyState == 4)
   {
      var response = http.responseText;
      document.getElementById('here').innerHTML=response;
   }
}

 sendReq('http://www.siteB.com/file.html');
 </script>
 </head>

 <body >
     <div id="here"></div>
 </body>
 </html>

www.siteB.com/file.html 文件仅包含以下内容:

<!DOCTYPE html>
<html>
<head>
</head>

 <body >
     <h1>hello world!</h1>
     <p><img src="http://www.siteB.com/img.jpg"/></p>
 </body>
 </html>

知道为什么它不会对我有用吗?或者是否可以从其他域加载外部页面?

3 个答案:

答案 0 :(得分:1)

AJAX受Same-origin Policy的约束。它无法访问与当前域不同的域中的内容。

由于您已将此问题标记为PHP,我假设您正在使用它,并且您可以从该页面检索内容,如下所示:

<?php
$contents = file_get_contents('http://www.siteB.com/file.html');
echo $contents;
?>

然后,您可以将XMLHttpRequest重定向到该PHP文件,该文件将为您检索内容。

答案 1 :(得分:0)

JS无法在这样的网站之间进行通信。由于您标记了PHP,因此可以使用PHP。

document.getElementById('here').innerHTML=JSON.parse(<?php echo json_encode(file_get_contents('http://www.siteB.com/file.html')); ?>);

答案 2 :(得分:-2)

如果您想显示网站上的其他网页,为什么不使用iframe?

http://www.w3schools.com/tags/tag_iframe.asp

<iframe src="http://www.w3schools.com">
  <p>Your browser does not support iframes.</p>
</iframe>