安全浏览器Chrome扩展程序

时间:2014-02-24 21:45:34

标签: google-chrome-extension

我为你们提出了一个简单的问题,我是新手制作Chrome扩展程序和我的想法,我不确定是否可以通过扩展程序执行此操作。我一直在寻找API,但没有遇到可能有用的东西。所以我对扩展的想法是,无论谁下载扩展程序,都可以设置一个密码,他们会点击图标,它基本上会锁定浏览器,所以如果其他人来到浏览器,他们只能访问那个页面和它会导致什么,他们将无法使用网址栏或访问标签,除非允许。然后主人可以按热键,它会询问他们的针脚,并将解锁浏览器,如果需要。或者甚至把它放在演示模式但没有密码却无法摆脱它?这是镀铬扩展可以做的事情还是我错误的方式?我注意到Chrome中有一些选项://关于您可以压缩网址栏并在侧栏上制作标签的设置。任何帮助或方向都会很棒,谢谢!

1 个答案:

答案 0 :(得分:2)

您可以创建保存扩展程序设置的options page,然后创建一个名为 DisableBrowser 的选项。

在文件background.js中,我们监控onBeforeRequest事件,然后检查变量 DisableBrowser 的值,如果它具有真值,则设置当cancel等于 true 时,onBeforeRequest参数cancel事件的值等于 true ,请求被取消。

简而言之,只需cancel并设置等于 true ,一切都被拒绝,即在安装和启用扩展程序时,浏览器不会打开网址。

<强>更新

下面的示例代码是background.js文件的内容,显示了如何仅允许列表中允许的某些URL成功执行,因此所有其他URL将被拒绝并在打开时失败。

// callback
var onBeforeRequestCallback = function( details ) {
  // List of Urls Allowed
  // You can create an array or use localStorage through options.html page,
  // to save the urls allowed,
  // then check and if an allowed URL, the request is not canceled, or in other words, it is permitted,
  // in case of failure it is canceled and is not permitted.
  if ( details.url === 'https://www.google.com/' || details.url === 'http://www.bing.com/' ) {
    return {
      cancel : false
    };
  } else {
    return {
      cancel : true
    };
  }
};

// filter
var onBeforeRequestFilter = {
  urls : [
    "http://*/*",
    "https://*/*"
  ]
};

// opt_extraInfoSpec
var onBeforeRequestInfo = [
  "blocking",
  "requestBody"
];

// Monitors onBeforeRequest event
chrome.webRequest.onBeforeRequest.addListener( onBeforeRequestCallback, onBeforeRequestFilter, onBeforeRequestInfo );

帮助链接: