【问题标题】:Some browsers not recognizing meta tags added via Javascript某些浏览器无法识别通过 Javascript 添加的元标记
【发布时间】:2010-10-21 20:47:40
【问题描述】:

我正在为 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);
   }

【问题讨论】:

  • 嗯。我猜大多数浏览器在页面呈现后不会期望新的元标记。有趣的。 +1
  • 也许可以,但标题标签可以更改,因此浏览器希望在标题部分进行一些更改。
  • ve found that there was an option "Allow meta refresh", but even enabled the script doesnt 工作。 helpdeskgeek.com/how-to/disable-meta-refresh-ie-8

标签: javascript firefox


【解决方案1】:

大多数浏览器在处理任何 Javascript 之前都会读取元标记。您可以按照编写代码的方式注入新的元标签,但浏览器本身不会对新标签做任何事情。尽管新的元数据将可用于在注入后调用的页面上运行的其他代码。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-25
      • 2016-12-19
      • 1970-01-01
      • 2016-01-17
      • 2010-11-22
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      相关资源
      最近更新 更多