谷歌的意思是alwaysOnTop?

时间:2016-03-25 21:49:28

标签: google-chrome google-chrome-app

我正在尝试开发一款始终位于所有其他窗口之上的Chrome应用,包括Chrome和其他应用。使用alwaysOnTop = true时,我没有取得任何成功。

google的含义是什么意思:

  

如果为true,则窗口将保持在大多数其他窗口之上。如果存在这种多个窗口,则当前聚焦的窗口将位于前景中。

这些"大多数其他窗口"?我怎么知道它意味着哪个窗口?到目前为止,一旦我点击应用程序,它就不会停留在任何其他窗口之上。我已将我的脚本放在下面,以防我错过了一些简单的事情。

function openApp() {
var innerBounds = {
    left : 0,
    top : 0.8 * screen.height,
    width : screen.width,
    height : 0.2 * screen.height,
};
var frame = {
    type : "none",
};
var options = {
    id : "lqps",
    innerBounds : innerBounds,
    frame : frame,
    resizable : false,
    alwaysOnTop : true,
    visibleOnAllWorkspaces : true,
    };
    chrome.app.window.create("popup.html", options);
}

我希望有人能完成所有这些工作。

1 个答案:

答案 0 :(得分:1)

你的manifest.json中的

试试这个:

"permissions": [
  "identity",
  "app.window.alwaysOnTop"
  ],

在你的background.js中尝试:

chrome.app.runtime.onLaunched.addListener(function() {
  chrome.app.window.create('index.html', {
    id: 'mainWindow',
    innerBounds: { 
      width: 260, 
      height: 190, 
      minWidth: 254,
      maxWidth: 508,
      minHeight: 190,
      maxHeight: 190
    },
    frame:{
      type: "chrome"
    },
    state: "normal",
    hidden: false,
    resizable: false,
    alwaysOnTop: true
  });
});

或只是这个:

chrome.app.runtime.onLaunched.addListener(function() {
  chrome.app.window.create('index.html', {
    id: 'mainWindow',
    alwaysOnTop: true
  });
});

修改 好的,因为我在类似的事情后,我做了以下实现第二个弹出选项菜单: 1.将以上脚本添加到manifest.json 2.格式化你的background.js,类似于我的:

chrome.app.runtime.onLaunched.addListener(function() {
  chrome.app.window.create('index.html', {
    id: 'mainWindow',
    innerBounds: { 
      width: 260, 
      height: 190
    },
    frame:{
      type: "chrome"
    },
    state: "normal",
    hidden: false,
    resizable: false,
    alwaysOnTop: true
  },        
  );
});

document.querySelector("#OptionsWin").addEventListener("click", optionWindow);
function optionWindow(){
  chrome.app.window.create('options.html', {
    id: 'optionsWindow',
    innerBounds: { 
      width: 260, 
      height: 190
    },
    frame:{
      type: "chrome"
    },
    state: "normal",
    hidden: false,
    resizable: false,
    alwaysOnTop: true
  }
  );
}
  1. 现在在你的HTML文件中确保添加:
  2. <script src="background.js"></script>

    如果您将侦听器和函数放在另一个.js文件中,只要将其位置包含在.html文件中,这也可以。

    1. 某些代码编辑在测试代码时可能会提出问题,最好使用浏览器扩展程序启动进行测试,或者我已找到&#34; Chrome Dev Editor&#34;和良好的编码平台,以启动应用程序(不是为了发布到网络,但必须手动执行)。因此,如果Windows无法满足预期功能的问题,请尝试Chrome Dev Editor。