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

标签 javascript html iframe

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

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

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>

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

谢谢

奈杰尔

最佳答案

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

open link in iframe

对于你的第二个问题,你将 jquery 与纯 JavaScript 混合在一起。 这是使用纯 JavaScript 更改 iframesrc 的方法:

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

关于javascript - 链接在新页面加载,而不是 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30001309/

相关文章:

html - 两个按钮调整到网页

html - YouTube 嵌入式视频高度仅在 IE9 中较短

javascript - iframe 的 History.replaceState 问题

javascript - 初学者在 Angularjs 中遇到范围问题

javascript - 如何使用 create-react-app(无弹出)导入共享 typescript 代码?

javascript - 如何将具有不同输入名称的选定复选框添加在一起

html - 默认按钮在点击时不显示轮廓样式

javascript - 分钟和秒的 jQuery 倒数计时器

javascript - 逻辑密集的 Promise 链是 "callback hell"吗?

javascript - 是否可以将 iframe 的 src 属性设置为 "fake"?