gpt4 book ai didi

javascript - 不使用 Jquery 的无缓存脚本

转载 作者:行者123 更新时间:2023-11-28 00:43:02 25 4
gpt4 key购买 nike

您好,我正在尝试创建一个脚本,该脚本会在任何网页中插入元标记以强制不缓存

目前这是我的代码,我不想使用 Jquery(如 Script to force IE8 cache behaviour 所示)。

var MAXlen = document.getElementsByTagName('head')[0].childNodes.length; 
//Get the length of childnodes of head.

while(MAXlen--)
{
document.getElementsByTagName('head')[0].childNodes[MAXlen+1] = document.getElementsByTagName('head')[0].childNodes[MAXlen];
//store every node one place after.

if(MAXlen == 0)
document.getElementsByTagName('head')[0].childNodes[0].innerHTML = '<META HTTP-EQUIV="Pragma" CONTENT="no-cache">';
//place this hmtlcode into the first element of head.
break;
}

最佳答案

我会使用...前置而不使用 JQuery:

parent.insertBefore(child, parent.firstChild);

parentNode.insertBefore(newChild, refChild);

将节点 newChild 作为 parentNode 的子节点插入到现有子节点 refChild 之前。 (返回newChild。)

如果 refChild 为 null,则将 newChild 添加到子级列表的末尾。同样,使用 parentNode.appendChild(newChild) 也更具可读性。

在这种情况下,您不需要像您提供的代码中那样循环。

更新:

用你的代码试试这个......

var meta = document.createElement('meta');
meta.httpEquiv = "Pragma";
meta.content = "no-cache";
var head = document.getElementsByTagName('head')[0]
head.insertBefore(meta, head.firstChild);
  1. 首先,将元标记构建为节点。
  2. 然后,捕获 head 标签作为变量。
  3. 使用该变量,在第一个子节点之前插入节点。

评论:

  • 在 Chrome 中测试了功能。
  • 在 IE8 中测试功能,并带有控制台警告:“此页面上的代码禁用了前后缓存”

关于javascript - 不使用 Jquery 的无缓存脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27732140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com