V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tr1stan
V2EX  ›  问与答

window.close()怎么有时候有效有时候无效呢?

  •  
  •   tr1stan · 2021-02-24 18:00:49 +08:00 · 1090 次点击
    这是一个创建于 1398 天前的主题,其中的信息可能已经有所发展或是发生改变。

    向一个 chrome 扩展添加一个用按钮关闭当前页面的功能,实现很简单,就是在 contentscript.js 里操作 DOM 给 body 追加了一个按钮,然后点击按钮的时候执行window.close()

    这个 api 是网上搜的,为了验证一下是否可行还专门用任意几个页面的开发者工具的控制台直接执行了一下,发现是可以关闭的,于是才写到了扩展中去验证,发现也没有问题。

    欢天喜地的准备提交,想着用 linux 下的 chrome 也验证一下(上面是在 windows10 去修改的),结果发现提示Scripts may close only the windows that were opened by it.并且无法关闭页面??试了控制台和脚本都无效。赶紧检查了一下 chrome 版本,都是最新版 88.0.4324.182(正式版本)(64 位)。不甘心又找了另一台 Windows10 (和用来修改的 Windows10 一样都是 64 位专业版 1909 ),发现同样版本的 chrome (还是 88.0.4324.182 )居然也不行。我凌乱了。。。

    然后去查 api,发现理论上只能给新创建的 window 用什么的,无法解释现在的现象。查了两天一直没有结果。有人知道这个到底是怎么回事吗?或者你们也试一试然后反馈看看是否不同的电脑 window.close()会表现不一致?

    刚才三个 chrome 都更新到 88.0.4324.190 了,还有这个问题。能生效的电脑一直可以生效,无效的又一直无效。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3253 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 12:14 · PVG 20:14 · LAX 04:14 · JFK 07:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.