@connect 标签在 TamperMonkey/Chrome 中不起作用?

问题描述 投票:0回答:1

我有一个类似于这个问题的问题,但据我所知,根据该问题的答案,我的指令是正确的。

我的标题如下:

// ==UserScript==
// @name         My Userscript
// @namespace    com.example.my-userscript
// @version      0.2.14
// @description  Do things
// @author       Doktor J
// @match        https://example.com/index.php?id=*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=example.com
// @require      https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
// @require      https://example.org/path/jquery-csv.min.js
// @license      Mozilla Public License 2.0
// @grant        GM_addStyle
// @grant        GM_xmlhttpRequest
// @connect      example.org
// ==/UserScript==

但是,当我拨打以下电话时:

GM_xmlhttpRequest({
    method: "GET",
    url: "https://example.org/path/data.csv",
    onload: function (response) {
        console.log(response.status);
        myData = $.csv.toObjects(response.responseText);
    }
});

我仍然收到以下错误:

VM122:10 injected: Refused to connect to "https://example.org/path/data.csv": URL is not permitted
javascript ajax google-chrome tampermonkey
1个回答
0
投票

有趣的事实,显然,当您没有

@connect
标签并且出现警告对话框时,如果您响应不够快,它会将URL列入黑名单,并且黑名单似乎会覆盖
@connect
指令。

如果发生这种情况:

  1. 转到 Tampermonkey 中的用户脚本,转到其“设置”子选项卡(位于主 Tampermonkey 选项卡栏下方的左对齐选项卡栏中,否则您最终将进入 Tampermonkey 设置而不是用户脚本的设置)。
  2. 向下滚动到“XHR 安全”并选中“用户域黑名单”框
  3. 在其中选择新列入黑名单的域名,然后单击“删除”
© www.soinside.com 2019 - 2024. All rights reserved.