2015-05-02 3 views
0

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

У меня есть страница (страница A), содержащая ссылку (на страницу B в том же домене/папке в качестве родителя), что я хочу, чтобы открыть в IFRAME в Page А.

pageA.html:

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Page A</title> 
</head> 
<body> 
<a href="/pageB.html" target="tgt">Load ...</a><br> 
<iframe id="tgt"></iframe> 
</body> 
</html> 

pageB.html:

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Page B</title> 
</head> 
<body> 
<p>This is a test. Should load in iframe.</p> 
</body> 
</html> 

при щелчке на ссылке страницаБ откроется на новой странице (как если целевой идентификатор нет), а не в IFRAME в страницаА.

Что я делаю неправильно?

================================================================================================================================== ===========

ОК, отсортировано, но теперь мне нужно сделать это, используя PHP, сгенерированный JavaScript. Вот очень минимальный пример:

pageA.php (родительская страница):

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Page A</title> 

<?php 
$srcPage = "/pageB.html"; 
echo " 
<script> 
function loadIframe() { 
    window.alert('Clicked, loading $srcPage'); 
    document.getElementById('tgt').attr('src', '$srcPage'); 
} 
</script> 
";?> 

</head> 

<body> 
<p id="load" onclick="loadIframe()">[Click me to load] ...</p> 
<iframe id="tgt" name="tgt"></iframe> 

</body> 

</html> 

pageB.html (страница для загрузки - так же, как и раньше):

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Page B</title> 
</head> 

<body> 

<p>This is a test. Should load in iframe.</p> 

</body> 
</html> 

Скрипт выполняет (появляется предупреждение), но страница не загружается.

Благодаря

Найджел

ответ

3

Вы должны добавить атрибут name="tgt" к вашему IFRAME.

open link in iframe

Для вашего второго вопроса, то смешанный JQuery с простым JavaScript. Это, как вы измените src из iframe с помощью простой JavaScript:

document.getElementById('iframeid').src = '$srcPage'

+0

Большое спасибо за это. Однако я добавил дополнительную информацию. – nakb

+0

обновил мой ответ – DigitalDouble

+0

Огромное спасибо. Это отсортировано. – nakb

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