gpt4 book ai didi

javascript - 在 302 重定向的情况下,如何从 Greasemonkey 的 GM_xmlhttpRequest "onload"回调中找到请求 URL?

转载 作者:行者123 更新时间:2023-11-30 10:35:29 39 4
gpt4 key购买 nike

我有一个 GM_xmlhttpReqeust 我的 Greasemonkey 脚本中的功能设置如下(简化版)。

  GM_xmlhttpRequest({
synchronous: false,
method: "HEAD",
url: "http://www.example1.com",
onload: function(response){console.debug(url);},
});
  • GM_xmlhttpReqeust在我的代码中以异步模式调用。

  • 访问后,http://www.example1.com执行302 重定向http://www.example2.com

  • 我想访问原始url的值http://www.example1.com 内的参数 ( onload )回调函数。

  • 根据 GM_xmlhttpReqeust documentation , http://www.example2.com可以在 response.finalUrl 中找到里面onload回调。

有人可以告诉我正确的 Greasemonkey/JavaScript 方法吗?

最佳答案

传递给onloadresponsean object with these key properties :

  • 就绪状态
  • 响应标题
  • 响应文本
  • 状态
  • 状态文本
  • 最终网址

你想要 finalUrl,你可以这样得到它:

GM_xmlhttpRequest ( {
synchronous: false,
method: "HEAD",
url: "http://www.google.com",
onload: function (response) {
console.debug (response.finalUrl);
}
} );


修改/澄清问题的更新:

为了获取/了解最初请求的 URL,您必须在 closure 中调用 GM_xmlhttpRequest() .像这样:

var origURL = "http://www.google.com";

(function (targURL) {
GM_xmlhttpRequest ( {
synchronous: false,
method: "HEAD",
url: targURL,
onload: function (response) {
console.log ("orig URL: ", targURL);
console.log ("final URL: ", response.finalUrl);
}
} );
} ) (origURL);

关于javascript - 在 302 重定向的情况下,如何从 Greasemonkey 的 GM_xmlhttpRequest "onload"回调中找到请求 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14251709/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com