javascript - 意外调用方法或属性访问 -appendChild()

标签 javascript

我创建了一个执行以下代码的书签,向页面添加 CSS 样式。它适用于 Chrome 和 Firefox 中的所有尝试过的网站,但不适用于 IE 上的某些网站。失败的网站总是相同的。

对于某些网站,第四行失败,并显示“意外调用方法或属性访问”(仅在 IE 上)。

var head = document.getElementsByTagName('head')[0];
var style = document.createElement('style');
style.type = 'text/css';
style.appendChild(document.createTextNode(""));
head.appendChild(style);

两个网站在 IE 10 上失败:

http://www.momswhothink.com/cake-recipes/banana-cake-recipe.html

http://www.bakerella.com/

最佳答案

我认为你的问题是这一行:

style.appendChild(document.createTextNode(""));

此处,您将 Text Node 插入到 Style 元素中,根据 HTML 规范,这是不允许的,除非您指定了 scoped > 样式属性。

查看style的规范这里(文本节点是流程内容)。

您可以找到以跨浏览器方式创建样式元素的好方法 here .

关于javascript - 意外调用方法或属性访问 -appendChild(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18410061/

相关文章:

javascript - 研究: How to get the default fontsize configured in the browser

javascript - 如何在 AngularJs 中将参数从 Controller 传递到服务

javascript - GET 在 POST 不工作的地方工作正常 XMLHttpRequest

javascript - lodash _.get typescript 中的函数

javascript - 来自数据库的 JQuery 自动完成表单失败

javascript - AngularJs/.provider/如何获取rootScope进行广播?

javascript - Angular Controller 范围/变量未出现

javascript - 带 React 的动态 JQuery 菜单

javascript - AngularJS ex.com/forum?id=1 到 ex.com/#/forum?id=1

javascript - 将 Html.Raw() 存储在 Javascript、ASP.NET MVC 3 的字符串中