0

我有一个 ahref,单击它会更改 3 个 iFrame 的内容。这是代码:

<a href='weekone.php' target='weekone' onclick='window.open("weektwo.php","weektwo"); window.open("weekthree.php","weekthree")'>Link</a>

现在这在 Firefox、Safari 等中完美运行,但在 IE 中不起作用。任何人都可以为我解释一下这个问题吗?我不能使用 Javascript,因为我在 PHP 框架中工作,并且 iFrame 链接是从数据库中调用的。

更新

看来问题在于从 window.open 调用的 URL 中的空格!当我从数据库中调用信息时(即 - “weektwo.php?Name=Bob and Dave”),我该如何解决这个问题?

4

3 回答 3

0

在评论的后面,尝试添加“return true;” 到 onclick 的末尾(未经测试)...

<a href='weekone.php' target='weekone' onclick='window.open("weektwo.php","weektwo"); window.open("weekthree.php","weekthree"); return true;'>Link</a>

更新

根据更新的问题,尝试使用 PHP 函数“htmlentities”对查询字符串进行“HTML 编码”。

我将以下内容基于您的原始(预编辑)代码。因此,在这种情况下,我很抱歉要求您对其进行编辑,但我确实要求您准确显示发送到浏览器的内容...

<a href='weekone.php?Name=<?=htmlentities($i[Name])?>' target='<?=$i[Name]?> weekone' onclick='window.open("weektwo.php?Name=<?=htmlentities($i[Name])?>","<?=$i[Name]?> weektwo"); window.open("weekthree.php?Name=<?=htmlentities($i[Name])?>","<?=$i[Name]?> weekthree")'>Link</a>

更新2(因为我很愚蠢)

它不应该是“HTML 编码”,而应该是使用“urlencode”的“URL 编码”......

<a href='weekone.php?Name=<?=urlencode($i[Name])?>' target='<?=$i[Name]?> weekone' onclick='window.open("weektwo.php?Name=<?=urlencode($i[Name])?>","<?=$i[Name]?> weektwo"); window.open("weekthree.php?Name=<?=urlencode($i[Name])?>","<?=$i[Name]?> weekthree")'>Link</a>
于 2012-05-31T09:52:25.800 回答
0

什么版本的IE?

在 IE 8 上测试,效果很好。

<a href='test.htm' target='weekone' onclick='window.open("test.htm","weektwo"); window.open("test.htm","weekthree")'>Link</a>

<iframe name='weekone' id='weekone' width=100 height=100></iframe>

<iframe name='weektwo' id='weektwo' width=100 height=100></iframe>

<iframe name='weekthree' id='weekthree' width=100 height=100></iframe>
于 2012-05-31T09:57:32.383 回答
0

如果您尝试在 中打开链接<iframe>,则可能更容易做到

document.querySelector('iframe[name="weekone"]').src='test.htm';
document.querySelector('iframe[name="weektwo"]').src='test.htm';
document.querySelector('iframe[name="weekthree"]').src='test.htm';

(我使用了document.querySelector因为它是最简单的,但当然您可以使用 document.getElementById 或任何您想要获取对 . 的引用的方式<iframe>。)

于 2012-05-31T10:07:10.373 回答