Javascript 没有使用Jquery就没有缓存脚本
您好,我正在尝试创建一个脚本,在任何网页中插入一个元标记以强制不缓存 目前这是我的代码,我不想使用Jquery(如中所示)Javascript 没有使用Jquery就没有缓存脚本,javascript,html,internet-explorer-8,userscripts,no-cache,Javascript,Html,Internet Explorer 8,Userscripts,No Cache,您好,我正在尝试创建一个脚本,在任何网页中插入一个元标记以强制不缓存 目前这是我的代码,我不想使用Jquery(如中所示) var MAXlen=document.getElementsByTagName('head')[0].childNodes.length; //获取头部子节点的长度。 而(MAXlen--) { document.getElementsByTagName('head')[0].childNodes[MAXlen+1]=document.getElementsByTagNa
var MAXlen=document.getElementsByTagName('head')[0].childNodes.length;
//获取头部子节点的长度。
而(MAXlen--)
{
document.getElementsByTagName('head')[0].childNodes[MAXlen+1]=document.getElementsByTagName('head')[0].childNodes[MAXlen];
//之后将每个节点存储在一个位置。
如果(MAXlen==0)
document.getElementsByTagName('head')[0]。childNodes[0]。innerHTML='';
//将此hmtlcode放入head的第一个元素中。
打破
}
我会用。。。不带JQuery的预结束:
parent.insertBefore(child, parent.firstChild);
parentNode.insertBefore(newChild,refChild)
将节点newChild
作为父节点的子节点插入现有子节点refChild
之前。(返回newChild
)
如果refChild
为空,则在子项列表的末尾添加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);
- 测试功能在铬
- 在IE8中测试功能,控制台警告:“此页面上的代码禁用了反向和正向缓存”
标记,但是(?大多数?)浏览器实际上不会解析以这种方式添加的
标记。IE8可能是个例外;怀疑它。在IE8中测试功能。。。“此页面上的代码禁用了反向和正向缓存”感谢您的检查和提醒。那么,IE8似乎可以解析动态添加的
标记。干得好
var meta = document.createElement('meta');
meta.httpEquiv = "Pragma";
meta.content = "no-cache";
var head = document.getElementsByTagName('head')[0]
head.insertBefore(meta, head.firstChild);