javascript - IE8 上出现类型不匹配错误?

标签 javascript dom iframe

我有一个带有 iframe 的页面。

iframe 驻留在同一域中,因此不存在 x 域问题。

我需要 iframe 将其一些内容复制到父级。

所以我有带有 iframe 的父页面,如下所示

...
<div id="some-content">
  <iframe src="frame-1.html" style="display:none;"></iframe>
</div>
...

这是frame-1.html

<!doctype html>
<html lang="en">
<head>
</head>

<body>
  <div name="content">
    <img src="http://placehold.it/300x250/ffffff/E8117F&text=from+frame+1" />
  </div>
  <script>
    (function() {
      var content = document.getElementsByName("content")[0];
      var iframeName = this.name;
      var iframeContainer = parent.document.getElementsByName(iframeName)[0].parentNode;0
      iframeContainer.appendChild(content);
    })();
  </script>
</body>
</html>

它在现代浏览器上工作正常,但在 IE8/9 上失败?

我想类型不匹配来自于 content 变量不是节点类型?

有人知道我做错了什么吗?

最佳答案

如果您在使用 getElementsByName 时遇到问题,请尝试使用 querySelectorAll。它适用于 IE8。

var content = document.querySelectorAll('[name="content"]')[0];

CSS 选择器非常强大,IE8 支持足够多的选择器,非常有用。

属性选择器在 IE8 中工作的唯一要求是使用 HTML5 文档类型,

<!DOCTYPE html>

在旧版浏览器上,它作为严格的 HTML4 相互渗透。

关于javascript - IE8 上出现类型不匹配错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26755791/

相关文章:

javascript - scrollTop 函数的 jQuery 延迟

javascript - 范围变量在 REST API POST 请求中丢失值

javascript - 使用 JavaScript 创建当前网页的 PDF 文件

iframe - Page和IFRAME之间的跨平台浏览器通信(同域)

javascript - 禁用发布表单的一个表单元素的发布

javascript - 更改数组内项目的透明度

html - 有没有办法使用 CSS 设置 iframe 内容的样式?

security - iframe 中的支付网关 (eWay) 页面 - 有任何安全问题吗?

perl - 高级 perl 语法 - Mojo::DOM

php - 在回显之前编辑字符串中的 url?