在Chrome中,我从JS控制台使用JSON文件填充了在线映射工具(Kumu),其中包括:

Workflows.setCurrentMapSource("MY_JSON_LINK");


MY_JSON_LINK所在的位置:

https://XXXXXX/json?key=MTE3.DI4LYA.ZrzRFJ5o7Q5m3nLe6d6JGFISdKI


但是链接不再有效,所以当我进入Kumu页面时,我得到了错误消息:

Unable to open map


有没有办法从JS控制台断开连接?我已经搜索过但没有找到任何有效的方法

谢谢

最佳答案

我在电话上,所以我无法给您代码,但是您可以做的是重写XMLHttpRequest方法,然后您就可以操纵页面上完成的所有请求。

但这当然必须在请求完成之前完成,因此您可能需要Tampermonkey用户脚本。例:

const originalOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function (){
     //do what you need
    originalOpen. apply(this, arguments);
}


因此,例如,如果您想防止某些链接被访问,则可以执行以下操作:

const originalOpen = XMLHttpRequest.prototype.open;
const REGEX_TEST_URL = /https?:\/\/XXXXXX\/json?key=(.*?)/
XMLHttpRequest.prototype.open = function (method, url){
   console.log("Open: ", url);
   /// if you want to kill access to that URL
   if(REGEX_TEST_URL.test(url))
       throw new Error("Blocked loading of URL "+url)
   //Otherwise allow normal operatio to proceed
   originalOpen.apply(this, arguments);
}


您甚至可以在stackoverflow上对此进行测试。

10-08 14:06