链接在新页面中加载,而不是iframe

时间:2015-05-02 10:42:05

标签: javascript html iframe

好的,我已经很长时间没有使用iframe了,但是这个问题非常基本我一定会错过一些非常明显的问题。

我有一个页面(页面A),其中包含我要在页面A的iframe中打开的链接(与父页面在同一域/文件夹中的页面B)。

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

点击链接时,pageB会在新页面中打开(就好像目标ID不存在一样),而不是在pageA中的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>

脚本执行(显示警告)但页面未加载。

由于

1 个答案:

答案 0 :(得分:3)

您应该将属性name="tgt"添加到您的iframe。

open link in iframe

对于你的第二个问题,你将jquery与普通的javascript混合在一起。 这是您使用普通javascript更改src iframe的方法:

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