免责声明:由于安全问题,我实际上并不希望这样做,但是在我完全放弃之前,我不得不问:是否可以使用Javascript书签打开一个URL窗口并使其自动关闭该内容加载后?
我的用法是使用其API暂时禁用Pi-hole。我拥有的当前代码可以实现简单的超时,但是我希望它可以确保在关闭窗口之前加载页面。
此刻是我的(扩展)代码:
(() => {
t = prompt('Disable time (seconds)',30);
if (t) {
w = window.open(`http://___IP___/admin/api.php?disable=${t}&auth=___APIKEY___`,'pi-disable','left=20,top=20,width=300,height=200');
setTimeout(() => w.close(), 1000);
}
})()
如果不太明显,我将无法控制URL输出,因此无法在其中添加脚本以使其关闭,否则将是非问题。作为参考,输出只是一个JSON字符串:{"status":"disabled"}
只是踢脚,我尝试使用fetch()或添加一个iframe,但正如预期的那样,它们还带来了其他问题(混合内容,CORS政策等)。
我认为使用小书签是不可能的,因为它只能在您按小书签按钮的页面上运行其代码。如果您打开一个新域的窗口,则书签将无法影响它或观看其加载。