好的,我已经很长时间没有使用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>
脚本执行(显示警告)但页面未加载。
由于
佰
答案 0 :(得分:3)
您应该将属性name="tgt"
添加到您的iframe。
对于你的第二个问题,你将jquery与普通的javascript混合在一起。
这是您使用普通javascript更改src
iframe
的方法:
document.getElementById('iframeid').src = '$srcPage'