0

好吧,我正在尝试以类似于以下方式在互联网上来回奔波:http: //jsfiddle.net/Muimi/gm7gv/。不幸的是,我的代码不起作用。发生的事情是页面根本没有重定向。我注意到它给了我类似“页面不存在”之类的错误,对于 google.com(它存在,大家都知道)。那么,有什么想法吗?

<!DOCTYPE html>
<html>
<head>
<style>
#showUrl {
border:2px solid #0A9;
height:90%;
width:95%;
}
#url {
width:30em;
}
</style>
<script type="text/javascript">
  function loadUrl() {
    var url = document.getElementById( 'url' ).value;
    var showUrl = document.getElementById( 'showUrl' );
    showUrl.src = url;
}
</script>
</head>
<body>
<form>
    Enter URL to load: <input type="text" id="url" />
    <input type="button" value="Load URL" onclick="loadUrl()" />
</form>
<iframe id="showUrl"></iframe>
</body>
</html>
4

2 回答 2

0

你包括'http://'吗?如果不是,则 iframe 正在尝试加载相对路径而不是绝对路径。

function loadUrl() {
    var url = document.getElementById( 'url' ).value,
        showUrl = document.getElementById( 'showUrl' );
    showUrl.src = /$https?:\/\//.test(url) ? url : 'http://'+url;
}
于 2013-08-11T04:49:35.537 回答
0

您的代码确实有效。我在 JsBin 上尝试过,它确实适用于我网站的 URL,但不适用于 Google 的

http://jsbin.com/akugeg/1/edit

可能有三个原因:

  1. 您需要添加一个协议,使其作为绝对 URL 而不是相对 URL。

  2. 大多数代码调试服务不允许加载 iframe,因为它本身使用 iframe 来显示内容 - 出于安全原因。

  3. 一些网站不喜欢在 iframe 中加载,因此他们只是将服务器配置为不加载其他 iframe 内的其他网站,而不是他们自己的域。

但我可以向您保证,该代码有效,如果您在本地主机上尝试它可能会有效。

于 2013-08-11T04:52:27.773 回答