在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上对此进行测试。