有些浏览器无法识别通过Javascript添加的元标记

时间:2010-10-21 20:47:41

标签: javascript firefox

我正在为javascript做一些例子;它们并不真正可用。这个很有趣 - 它适用于Chrome(以及其他使用webkit)和Safari。那么有人可以建议为什么它不能在我测试过的其他浏览器中工作吗?

一种可能的解释是,其他浏览器在加载页面后不读取元标记,或者不读取新添加的元素。

   if (document.createElement) {
   var meta = document.createElement('meta');
   var metaContent = '2; URL=http://localhost/new.html'; 
   meta.setAttribute('http-equiv', 'refresh');
   meta.setAttribute( 'content', metaContent );
   document.getElementsByTagName('head')[0].appendChild(meta);
   }

2 个答案:

答案 0 :(得分:3)

大多数浏览器在处理任何Javascript之前都会读取元标记。您可以按照编码方式注入新的元标记,但浏览器本身不会对新标记执行任何操作。虽然新的metas将可用于在注入后调用的页面上运行的其他代码。

答案 1 :(得分:0)

当页面加载时,元标记必须在前512个字符中。如果不是,他们将留在DOM但不被浏览器识别。