我正在为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);
}
答案 0 :(得分:3)
大多数浏览器在处理任何Javascript之前都会读取元标记。您可以按照编码方式注入新的元标记,但浏览器本身不会对新标记执行任何操作。虽然新的metas将可用于在注入后调用的页面上运行的其他代码。
答案 1 :(得分:0)
当页面加载时,元标记必须在前512个字符中。如果不是,他们将留在DOM但不被浏览器识别。