我创建了一个带有自定义最小化,最大化和关闭按钮的无框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;
}
有什么想法吗?谢谢!
答案 0 :(得分:3)
请参阅http://crbug.com/381609。这是Windows上的一个错误,应该在M38中修复。如果您仍然使用镀铬金丝雀看到它,请对该错误发表评论或打开新错误。如果你确实开了一个新的bug,请通过benwells@chromium.org告诉我。