好像被拦截了,我允许之后,有时候会要我输入prompt,有时候不用
貌似是一个几率性的问题
我也不知道如何解释,看起来是当页面在后台时,prompt会始终返回null
而且如果弹出成功,那么对应的网站无法加载
如果对于网站加载成功,那么这个窗口会弹出失败
基于这个想法,我使用GM_openInTab
打开新页面,但是发现又回到了第一个问题页面在后台时,prompt会始终返回null
或者能不能这样?
// ==UserScript==
// @name New Userscript
// @namespace https://bbs.tampermonkey.net.cn/
// @version 0.1.0
// @description try to take over the world!
// @author You
// @match https://bbs.tampermonkey.net.cn/thread-3599-1-1.html
// @grant GM_openInTab
// ==/UserScript==
new Promise(function (resolve, reject) {
GM_openInTab("https://bbs.tampermonkey.net.cn/");
const fn = function () {
console.log(document.hidden)
if (!document.hidden) {
window.removeEventListener("visibilitychange", fn);
resolve(prompt("请写入您在第二页获取的数据"));
}
}
window.addEventListener("visibilitychange", fn);
}).then(function (person) {
console.log(person);
if (person) {
console.log("获取成功");
}
else {
console.log("获取失败");
}
});