好吧,我已经很长时间没有使用 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。
对于你的第二个问题,你将 jquery 与纯 JavaScript 混合在一起。
这是使用纯 JavaScript 更改 iframe
的 src
的方法:
document.getElementById('iframeid').src = '$srcPage'
关于javascript - 链接在新页面加载,而不是 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30001309/