首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mac上的Chrome扩展:窗口弹出窗口消失

Mac上的Chrome扩展:窗口弹出窗口消失
EN

Stack Overflow用户
提问于 2012-11-21 09:54:00
回答 1查看 1.9K关注 0票数 4

问题

在Chrome扩展的弹出页面中,使用任何JavaScript方法都会导致弹出窗口弹出,但是,一旦填充了窗口的内容,就会立即失去焦点并消失。

奇怪的是,只要Chrome的开发工具在扩展的上下文中打开,弹出窗口就会保持打开,但是如果开发工具关闭,弹出窗口就会立即消失。

这曾经发生在我的旧的,混乱的2006年iMac,所以我认为这是我的配置的一个问题。然而,我刚刚在2007年的iMac上重新安装了Mac (v1.7.5)和Chrome (v23.0.1271.97),并创建了一个非常简单的Chrome扩展程序(下面的代码)来测试,但它仍在进行中。我不由自主地认为这是Chrome的一个bug。

"manifest.json“

代码语言:javascript
运行
复制
{
    "name": "Test Popups",
    "version": "0",

    "manifest_version": 2,

    "browser_action": {
        "default_popup": "popup.html"
    }
}

"popup.html“

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>

        <script src="popup.js"></script>
    </head>

    <body>
        <input type="submit" id="btn_Alert" value="Alert" />
        <input type="submit" id="btn_Confirm" value="Confirm" />
        <input type="submit" id="btn_Prompt" value="Prompt" />
    </body>
</html>

"popup.js“

代码语言:javascript
运行
复制
document.onreadystatechange = function(){
    if (document.readyState === "complete"){
        attach_eventListeners();
    }
}

function attach_eventListeners(){
    var btn_Alert = document.getElementById("btn_Alert");
    var btn_Confirm = document.getElementById("btn_Confirm");
    var btn_Prompt = document.getElementById("btn_Prompt");

    btn_Alert.addEventListener("click", function(){
        window.alert("Test");
    }, false);
    btn_Confirm.addEventListener("click", function(){
        window.confirm("Test");
    }, false);
    btn_Prompt.addEventListener("click", function(){
        window.prompt("Test", "");
    }, false);
}

这是一个链接到这些文件的ZIP。亲自测试它们:

  1. 提取ZIP
  2. 在Chrome中,转到chrome://chrome/extensions/
  3. 选中右上角的"Developer模式“复选框
  4. 单击“加载解压缩分机.”在左上角
  5. 选择包含解压缩文件的文件夹。
  6. 点击“确定”
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-09 09:33:42

据我所知,弹出窗口不能失去焦点,否则就会立即关闭。打开用于检查的开发工具可以重写此策略。

使用alertconfirmprompt会导致弹出窗口失去焦点,因此被Chrome关闭。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13490538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档