【问题标题】:Chrome App web view using Fullscreen & Alwaysontop使用全屏和 Alwaysontop 的 Chrome 应用程序网络视图
【发布时间】:2014-04-26 04:38:08
【问题描述】:

我正在开发一个 Chrome 应用程序,该应用程序使用网络视图打开并加载我们的网页。我正在尝试制作一个可以锁定网络视图的应用程序,因此当有人参加考试时,他们无法摆脱它或使用其他东西来尝试作弊。所以我现在遇到的问题是我无法让全屏和 AlwaysOnTop 相互配合。有没有办法做到这一点,或者这两件事不能一起工作,如果没有,是否有办法让他们工作,或者我需要采取另一个方向。我目前正在使用 Chrome Beta 运行我的应用程序,因为 alwaysOnTop 尚不适用于稳定版本。这是我的代码 main.js

chrome.app.runtime.onLaunched.addListener(function() {
    chrome.app.window.create('browser.html', {
      state: "fullscreen",
     "resizable": false,
     'alwaysOnTop': true
   }, 

  function(win) {
    win.contentWindow.document.addEventListener('keydown', function(e) {
        if(e.keyCode == 27){
           e.preventDefault();
    }
   });
   win.contentWindow.document.addEventListener('keyup', function(e) {
        if(e.keyCode == 27){
           e.preventDefault();
    }
    });
   });
  });

任何帮助或某种类型的指导都会很棒。我只能在设置边界时让alwaysontop工作,但这将显示最小化最大化和退出,这违背了我想要做的事情的目的。提前致谢。

【问题讨论】:

    标签: google-chrome google-chrome-extension google-chrome-devtools google-chrome-app


    【解决方案1】:

    您可能想查看“overrideEscFullscreen”权限。 见https://code.google.com/p/chromium/codesearch#chromium/src/chrome/test/data/extensions/platform_apps/prevent_leave_fullscreen_old/manifest.json&q=overrideEscFullscreen&sq=package:chromium&type=cs

    manifest.json

    {
      "name": "Test app for leaving fullscreen rules",
      "version": "1",
      "app": {
        "background": {
          "scripts": ["main.js"]
        }
      },
      "permissions": [
        "fullscreen", "overrideEscFullscreen"
      ]
    }
    

    main.js

    chrome.app.runtime.onLaunched.addListener(function() {
      chrome.app.window.create('main.html', {}, function(win) {
        // The following key events handler will prevent the default behavior for
        // the ESC key, thus will prevent the ESC key to leave fullscreen.
        win.contentWindow.document.addEventListener('keydown', function(e) {
          e.preventDefault();
        });
        win.contentWindow.document.addEventListener('keyup', function(e) {
          e.preventDefault();
        });
      });
    });
    

    【讨论】:

    • 我在我提供的代码中使用了它。我更改了按下 esc 键时发生的情况,因此他们无法退出全屏。我试图通过始终在顶部实现的事情是,如果他们按 alt-tab 转到不同的窗口或按窗口键打开显示 Windows 7 中的开始栏,他们可以打开另一个应用程序。我尝试使用始终在顶部,所以当他们执行这些步骤并尝试打开某些东西时,它会在后面打开它并且他们将无法使用它。
    • 抱歉回复晚了,但我不知道您的意思是隐藏/显示?
    猜你喜欢
    • 1970-01-01
    • 2012-12-07
    • 2013-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-12
    • 2015-12-10
    • 2015-05-04
    相关资源
    最近更新 更多