Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Bookmarklet在每个URL的末尾添加一个参数_Javascript_Regex_Bookmarklet - Fatal编程技术网

Javascript Bookmarklet在每个URL的末尾添加一个参数

Javascript Bookmarklet在每个URL的末尾添加一个参数,javascript,regex,bookmarklet,Javascript,Regex,Bookmarklet,我正在尝试一个简单的bookmarklet,它在任何URL的末尾添加一个短参数 我使用?clearcache清空内部缓存,所以为了避免每次都键入它,我正在寻找一个简单的解决方案 我的网站是 http://subdomain.mysite.net/ 有了书签,我想让URL转到 http://subdomain.mysite.net/?clearcache 和我希望的更深入的页面一样 http://subdomain.mysite.net/some-page/?clearcache 我目前正

我正在尝试一个简单的bookmarklet,它在任何URL的末尾添加一个短参数

我使用?clearcache清空内部缓存,所以为了避免每次都键入它,我正在寻找一个简单的解决方案

我的网站是

http://subdomain.mysite.net/ 
有了书签,我想让URL转到

http://subdomain.mysite.net/?clearcache
和我希望的更深入的页面一样

http://subdomain.mysite.net/some-page/?clearcache
我目前正在尝试与

javascript:location=location.href.replace(/http:/g,"/?clearcache")
但它不起作用

当我点击书签时,我的URL变成

http://subdomain.mysite.net/?clearcache//subdomain.mysite.net/
我觉得我很接近,但我只需要专家给我一点建议。 我希望得到答复。
谢谢

这将解决您的问题:

代码

javascript:void((function(){var loc=location.href;loc.indexOf(“?”)==1?(location.href=loc+“?clearcache”):(location.href=loc+“&clearcache”);})()

解释


检查是否存在任何其他查询字符串参数。如果是,则使用
&
在末尾附加
clearcache
,或者使用

附加到URL。对于那些想知道如何为“mod_pagespeed”实现这一点的人来说,这是一个有用的答案,完全受上述答案启发

javascript:void((function(){var loc = location.href; if (loc.indexOf('PageSpeed') >= 0) return; loc.indexOf("?") < 0 ? (location.href = loc+"?PageSpeed=off") : (location.href = loc+"&PageSpeed=off");})());
javascript:void((function(){var loc=location.href;if(loc.indexOf('PageSpeed')>=0)返回;loc.indexOf(“?”)<0?(location.href=loc+”?PageSpeed=off”):(location.href=loc+“&PageSpeed=off”);});
在此基础上构建的是一个版本,它使用不同的缓存破坏参数,并在每次使用时替换它

扩展版本:

javascript:void((函数(){
"严格使用",;
让href;
如果(document.location.search==“”){
href=document.location.href+'?='+Date.now();
}否则{
设params=newURLSearchParams(document.location.search.substring(1));
if(参数get(“”“”)==null){
href=document.location.href+'&='+Date.now();
}否则{
参数集(“”,Date.now());
href=document.location.href.substring(0,document.location.href.indexOf('?')+1)+params.toString();
}
}
document.location.assign(href);
})());
紧凑型:

javascript:void((函数(){let href;if(document.location.search===''){href=document.location.href+'?='+Date.now();}else{let params=new URLSearchParams(document.location.search.substring(1));if(params.get('''''==null){href=document.location.href+'&='+Date.now()}else{params.set(''s.now()),Date now());href=document.location.href.substring(0,document.location.href.indexOf('?')+1)+params.toString();}}}document.location.assign(href);})();

谢谢。我使用了一个更简单的版本,它似乎适用于我的案例。它就在我眼前,我错过了它
javascript:location=location.href.replace(location.href,“?clearcache”)
我检查了HTTP头,URL的末尾有?clearcache。我希望它能帮助其他人在添加参数之前,最好检查它是否已经在URL中。此修改版本将执行以下操作:
javascript:void((function(){var loc=location.href;if(loc.indexOf('clearcache')>=0)返回;loc.indexOf(“?”)<0?(location.href=loc+”?clearcache”):(location.href=loc+“&clearcache”);})javascript:void((function(){window.location.search=“?clearcache”})()