Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.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 将网站请求的URL重定向到我自己的URL_Javascript_Greasemonkey - Fatal编程技术网

Javascript 将网站请求的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

我想知道我是否可以用Greasemonkey将网站请求的JSON、.jpg、.mp3或任何其他文件URL重定向到我自己的URL

例如:


如果网站请求
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