2013-08-11 3 views
0

Ну, я пытаюсь дрогнуть взад и вперед по интернету, подобным этому: http://jsfiddle.net/Muimi/gm7gv/. К сожалению, мой код не работает. Что происходит, так это то, что страница не перенаправляется вообще. Я заметил, что он дал мне такие ошибки, как «страница не существует», для google.com (которая существует, просто так все знают). Итак, какие-то идеи?Создать адресную строку для направления iframe?

<!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> 

ответ

0

Вы включили 'http: //'? Если нет, iframe пытается загрузить относительный путь вместо абсолютного пути.

function loadUrl() { 
    var url = document.getElementById('url').value, 
     showUrl = document.getElementById('showUrl'); 
    showUrl.src = /$https?:\/\//.test(url) ? url : 'http://'+url; 
} 
0

Ваш код действительно работает. Я попробовал его на JsBin и он сделал работу с URL моего сайта, но не с Google,

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

Там может быть три причины:

  1. Вы должны добавить протокол, так что работает как абсолютный URL, а не относительный.

  2. Большинство служб отладки кода не позволяют загружать фреймы, поскольку он сам использует iframe для отображения содержимого - по соображениям безопасности.

  3. Некоторые веб-сайты не любят быть загруженными в iframe, поэтому они просто настраивают свои серверы, чтобы не загружать другие файлы внутри iframe, кроме своего собственного домена.

Но я могу заверить вас, что код работает, и если вы попробуете его на своем локальном хостинге, это может сработать.

+0

пример url (google) применяется к причине 3. Тем не менее, вы получите «X-FRAME-OPTIONS», установленный в «SAMEORIGIN», вместо «страницы не существует», – twinlakes

Смежные вопросы