目标网页的网址为:ouo.io/tLnpEc.html
我想将网址更改为:ouo.press/tLnpEc
即:.io
至.press
并删除.html
。
我已经有了这个但是它没有用(它重定向到ouo.press但仍然没有删除.html):
var url = window.location.host;
if (url.match("//ouo.io") === null) {
url = window.location.href;
if (url.match("//ouo.io") !== null){
url = url.replace("//ouo.io", "//ouo.press");
} else if (url.match("/*.html") !== null){
url = url.replace("/*.html", " ");
} else {
return;
}
console.log(url);
window.location.replace(url);
}
我希望有人可以帮助解决这个问题。
答案 0 :(得分:1)
相关:Greasemonkey to redirect site URLs from .html to -print.html?(以及其他几个)。
关键点:
.href
上操作。这将导致各种引用,搜索等链接和重定向的副作用和错误触发。@run-at document-start
减少延迟和烦恼"闪烁"。这是执行这些网址更改和重定向的完整脚本:
// ==UserScript==
// @name _Redirecy ouo.io/...html files to ouo.press/... {plain path}
// @match *://ouo.io/*
// @run-at document-start
// @grant none
// ==/UserScript==
//-- Only redirect if the *path* ends in .html...
if (/\.html$/.test (location.pathname) ) {
var newHost = location.host.replace (/\.io$/, ".press");
var plainPath = location.pathname.replace (/\.html$/, "");
var newURL = location.protocol + "//" +
newHost +
plainPath +
location.search +
location.hash
;
location.replace (newURL);
}