最小化后无法拖动无框Chrome应用程序

时间:2014-08-12 21:42:09

标签: google-chrome window draggable google-chrome-app minimize

我创建了一个带有自定义最小化,最大化和关闭按钮的无框Chrome应用程序。它可以在这些按钮和可拖动区域或上下文菜单选项中正常工作,但是一旦最小化它,就无法从可拖动区域或菜单中移动(拖动)它。

悬停事件也不起作用,但这不是问题,而且似乎是一个Chromium bug。参见:

我想知道是否有解决方案,以便我可以继续使用无框窗口,或者我唯一能做的就是在创建窗口时从frame: "none"更改为frame: "chrome"并只更改标题栏颜色。

我正在使用Windows 8,我在Chromium 38.0.2066.0 (279108)和Chrome 36.0.1985.143 m都遇到了同样的问题。

我已经创建了一个测试应用程序,看它是否仍有相同的问题,或者它是否与应用程序的其他部分有问题,问题仍然存在。这是用于测试的代码:

的manifest.json

{
    "manifest_version": 2,
    "name": "Test",
    "version": "1.0.0",

    "description": "...",
    "icons": {
        "16": "icon-16.png",
        "32": "icon-32.png",
        /*"48": "icon-48.png",*/
        "64": "icon-64.png",
        "128": "icon-128.png"
    },

    "app": {
        "background": {
          "scripts": ["background.js"],
          "persistent": false
        }
    },

    "offline_enabled": true,

    "permissions": [{"fileSystem": ["write"]} ]
}

background.js

chrome.app.runtime.onLaunched.addListener(function() {
    chrome.app.window.create('test.html', {
        frame: "none",
        bounds: {
            width: 1000,
            height: 600
        },
        minWidth:800,
        minHeight:400
    });
});

的test.html

<html>
<head>
    <meta charset="utf-8"> 
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <div id="drag-me">DRAG ME!</div>
</body>
</html>

的style.css

html{
    border:1px solid #CCC;
}

#drag-me{
    width:100%;
    height:100%;
    background:#FF3344;
    -webkit-app-region: drag;
}

#drag-me:hover{
    background:#FF4455;
}

修改

我尝试在最小化窗口时删除-webkit-app-region: drag属性,并在使用事件再次恢复或最大化窗口时将其放回,但它无法解决问题。

JS:

chrome.app.window.current().onMinimized.addListener(function(e){
    document.getElementById("drag-me").className="";
});

chrome.app.window.current().onRestored.addListener(function(e){
    document.getElementById("drag-me").className="draggable";
});

CSS:

.draggable{
    -webkit-app-region: drag;
}

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:3)

请参阅http://crbug.com/381609。这是Windows上的一个错误,应该在M38中修复。如果您仍然使用镀铬金丝雀看到它,请对该错误发表评论或打开新错误。如果你确实开了一个新的bug,请通过benwells@chromium.org告诉我。