javascript - 通过 JavaScript 动态设置的 Iframe src 在 Internet Explorer 上执行了两次

标签 javascript internet-explorer dom iframe

我遇到了一个非常烦人的 IE 问题。基本上我需要使用 JavaScript 设置 IFrame 的源,但是源文档在每次调用期间被执行两次而不是一次。

下面粘贴了简化的HTML代码(我简化了它以便读者可以快速理解它。源是通过JavaScript设置的,因为它会包含动态内容):

<html>
<head>
<title>Iframe test</title>
</head>
<body>

<iframe id="testIframe" scrolling="no" frameborder="0" src="" width="800" height="600"></iframe>

<script language="JavaScript">
    document.getElementById("testIframe").src = "http://localhost/test.php";
</script>

</body>
</html>

在本例中,test.php 在调用后在本地数据库中插入一条记录。每当使用 IE 调用上面的页面时,大多数情况下都会插入两行(有时只插入 1 行,但这不是常态)。我在 Chrome 和 Opera 上测试了相同的脚本,它在它们上运行正常,所以这一定是 IE 问题。

如果直接在 iframe 标记内设置 src,IE 开始正常运行,但我需要能够使用 javascript 构建 URL。

有人遇到过这个问题吗?有谁知道解决方案/解决方法吗?

感谢和问候 皮埃尔

最佳答案

我设法解决了这个问题。基本上我现在都在用

window.frames['testIframe'].document.location.href

代替

document.getElementById("testIframe").src

并且源文档只被命中一次。

关于javascript - 通过 JavaScript 动态设置的 Iframe src 在 Internet Explorer 上执行了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3007764/

相关文章:

javascript - 将 jQuery ID 选择器与 CSS 结合使用

css - 我怎样才能在 IE 中执行 getComputedStyle

java - Java中如何读写XML文件并在保存时将注释节点视为文本节点

java - 获取属性的节点父节点

javascript - ASP.NET MVC 客户端模型和 JavaScript

javascript - AJAX 未正确发送 POST 变量

css - Telerik 控制 : Combobox and RadDatePicker not inline on IE 11

html - 避免浏览器默认行为需要输入

java - getChildNodes 给出意想不到的结果

javascript - 拆分在 javascript 中不起作用,未捕获类型错误