2014-02-24 242 views
1

我爲你們提出了一個簡單問題,我是新增Chrome擴展程序的人員,以及我對一個人的想法,我不確定是否可以使用擴展程序來做到這一點。我一直在瀏覽API,但沒有找到可能有幫助的東西。因此,我的擴展的想法是,下載擴展程序的人將能夠設置PIN碼,他們將點擊圖標,它基本上會鎖定瀏覽器,所以如果有人來到瀏覽器,他們只能訪問該瀏覽器頁面和它會導致什麼,他們將無法使我們的網址欄或有權訪問的標籤,除非允許。然後,業主可以按熱鍵,它會問他們那裏銷,並將解鎖瀏覽器,如果需要。甚至可以將它放入演示模式,但無法在沒有密碼的情況下襬脫它?這是鉻擴展可以做的事嗎?還是我以這種錯誤的方式?我注意到Chrome中有一些選項://關於可以壓縮url欄並在側欄上製作標籤的設置。任何幫助或指導這將是偉大的,謝謝!安全瀏覽器Chrome擴展程序

回答

2

您可以創建一個options page出擴展設置保存,然後創建一個名爲例如DisableBrowser的選項。

在文件background.js,我們重點監測的onBeforeRequest事件,然後檢查變量DisableBrowser的價值,如果它有真正價值,設置cancel參數onBeforeRequest事件的價值,等於真正cancel是等於true,請求被取消。

總之,只是cancel和設置等於和一切都被拒絕,即瀏覽器將不會打開網址,而擴展安裝和啓用。

更新:

下面的示例代碼background.js文件的內容,展示如何讓被允許在列表中只有某些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); 

幫助鏈接:

+0

精美T hanks,所以這樣做可以基本上只允許它使用某個網頁和/ ...後面的任何內容?然後阻止所有其他網站,除非添加到允許列表?現在我有了擴展,當它按下將使瀏覽器呈現模式,所以它會是全屏幕,以從網址欄的想法,但允許它,如果他們滾動到它,並看到網址欄,如果他們試着去某個地方,它不會讓他們。 – SaSquadge

+0

是的,你可以阻止除允許列表中的URL以外的所有URL,有幾種方法可以做到這一點,我認爲它們很少,如果Urls Urls很少,那麼就沒有必要或者使用'array'來作爲您可以在同一行上設置全部網址或localStorage列表,這變得更加簡單。我會用一個示例代碼更新問題的答案,以幫助您爲添加的鏈接提供幫助,我相信你會得到你所需要的。 – D3F4ULT

+0

非常感謝這個,我需要多看一些API和示例來了解如何實現這些不同的事情。 – SaSquadge

相關問題