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>
Скрипт выполняет (появляется предупреждение), но страница не загружается.
Благодаря
Найджел
Большое спасибо за это. Однако я добавил дополнительную информацию. – nakb
обновил мой ответ – DigitalDouble
Огромное спасибо. Это отсортировано. – nakb