Javascript 将网站请求的URL重定向到我自己的URL
我想知道我是否可以用Greasemonkey将网站请求的JSON、.jpg、.mp3或任何其他文件URL重定向到我自己的URL 例如:Javascript 将网站请求的URL重定向到我自己的URL,javascript,greasemonkey,Javascript,Greasemonkey,我想知道我是否可以用Greasemonkey将网站请求的JSON、.jpg、.mp3或任何其他文件URL重定向到我自己的URL 例如: 如果网站请求https://example.com/example.json,我希望它被重定向到https://mywebsite.com/myjson.json。还有一些其他文件URL需要重定向,因此我不希望所有内容都被重定向,只想重定向一些特定的文件。您可以编写一个在文档开始时运行的用户脚本(在页面上的任何脚本运行之前)使用自己的方法覆盖XMLHttpReq
如果网站请求
https://example.com/example.json
,我希望它被重定向到https://mywebsite.com/myjson.json
。还有一些其他文件URL需要重定向,因此我不希望所有内容都被重定向,只想重定向一些特定的文件。您可以编写一个在文档开始时运行的用户脚本(在页面上的任何脚本运行之前)使用自己的方法覆盖XMLHttpRequest.prototype.open
,该方法将第二个参数的example.com
替换为mywebsite.com
。大致如下:
// ==UserScript==
// @name Redirect
// @include /https?://example\.com/
// @run-at document-start
// @grant none
// ==/UserScript==
const origOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(...args) {
if (typeof args[1] === 'string') {
args[1] = args[1].replace('example.com', 'mywebsite.com');
}
return origOpen.apply(this, args);
};
这取决于网站是如何请求这些URL的——它是如何发出这些请求的?它只是得到了它们,没有什么特别的。我希望它是重定向,以便我的内容可以在网站上显示。我将是唯一能看到它的人。
GET
不是Javascript函数-这些请求是如何发出的?例如fetch
<代码>XMLHttpRequest?jQuery?是XMLHttpRequest谢谢!它工作得很好。另一个问题,是否可以将域下请求的所有内容重定向到其他地方?像https://example.com/*
至https://mywebsite.com/*
仅适用于Javascript请求的资源,并且仅适用于使用答案中的技术(或类似技术)对适当的方法(无论是XHR还是Fetch)进行MonkeyPatch。编辑websocket请求/响应如何?您需要修补窗口。websocket
以替换为您自己的URL