如何在没有iframe的div中加载外部网站

时间:2010-09-27 05:39:38

标签: html

如何在div中加载外部网站?我不能使用iframe。

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

您可以使用object,它将被视为有点像iframe,但浏览器支持不太一致(使其成为iframe的非常不良替代品)。我只是在练习中使用过这种方法,在调用Transitional(或重新设计以避免使用该功能)时使用HTML Strict。

您可以从服务器上的远程服务器解析数据,并将其捆绑在原始页面中。

答案 2 :(得分:0)

有趣......可以想象,你可以将通过卷曲请求获得的网页内容写入div的innerhtml ......我当然假设了;我不想尝试这个,但如果你想给它一个旋转,这里有一些代码......

一些服务器端的php ...让我们称之为pageloader.php

<?php
// Check for cURL
if( !function_exists( 'curl_init' ) ) die( 'cURL is not installed.' );

// Create a cURL resource handler (cURL Handler = ch)
$ch = curl_init();

// Set options
curl_setopt( $ch, CURLOPT_URL,            "http://www.example.com/"   );    // URL from which to download
curl_setopt( $ch, CURLOPT_HEADER,         0                           );    // Include header? (0 = yes, 1 = no)
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true                        );    // Return or Print? (true = return, false = print)
curl_setopt( $ch, CURLOPT_TIMEOUT,        10                          );    // Set a maximum time before timeout (defined above)

$output = curl_exec( $ch );

curl_close( $ch );

echo $output; ?>

然后一点点javascript ...我只是假设你要在页面加载时做一个特定的页面......

window.onload = function() {
  var req = encodeURIComponent( document.getElementById('ajax_location').value );
  if (window.XMLHttpRequest) xmlhttp = new XMLHttpRequest();
  else xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  xmlhttp.onreadystatechange = function() {
    if( xmlhttp.readyState == 4 && xmlhttp.status == 200 ) document.getElementById("output").innerHTML = xmlhttp.responseText;
  }
  xmlhttp.open( "GET", "pageloader.php", false );
  xmlhttp.send( );
}

最后你的index.html,大概是你在一个巨大的div中展示另一个人的辛勤工作:

<body>
  <div id="output" style="width:960px;height:480px;overflow:scroll"></div>
</body>

当然,这可能最终会成为一堆未经渲染的HTML,但无论如何它都是一个有趣的心理健美操。

答案 3 :(得分:-3)

您可以在Div中使用iframe来调用其中的外部网站。