2014-02-24 4 views
1

여러분에게 빠른 질문이 있습니다. Chrome 확장 프로그램을 처음 만들었고 확장 프로그램을 사용할지 여부를 잘 모릅니다. API를 살펴 보았지만 도움이 될만한 항목을 거치지 않았습니다. 내 확장 기능에 대한 내 생각은 확장 프로그램을 다운로드 한 사람이 아이콘을 클릭 할 핀 코드를 설정할 수 있고 기본적으로 브라우저를 잠그므로 다른 누군가가 브라우저에 연결하면 해당 아이콘에 액세스 할 수있게된다는 것입니다 페이지로 이동하게되면 URL 바가 표시되거나 허용되지 않는 한 탭에 액세스 할 수 없게됩니다. 소유자가 단축키를 누르면 핀이 있는지 묻고 브라우저를 잠금 해제합니다. 또는 심지어 프레 젠 테이션 모드에 넣을 수 있지만 암호없이 그것을 빠져 나올 수 없습니까? 크롬 확장 프로그램에서이 작업을 수행 할 수 있습니까? 아니면 잘못된 방식으로 진행 중입니까? URL 표시 줄을 압축하고 사이드 바에서 탭을 만들 수있는 Chrome : // 설정에 몇 가지 옵션이 있습니다. 어떤 도움이나 방향이 좋을지라도 고마워!보안 브라우저 Chrome 확장자

답변

2

확장 설정이 저장되는 options page을 만든 다음 예 DisableBrowser이라는 옵션을 만들 수 있습니다. cancel 인 경우 파일 background.js에서

우리는 onBeforeRequest 이벤트를 모니터링하고 참값있는 경우 다음 변수 DisableBrowser의 값을 체크 진정한 이상임, cancel 파라미터 onBeforeRequest 이벤트의 값을 설정 true와 동일한 값인이면 요청이 취소됩니다.

즉, cancel으로 설정하고 으로 설정하면 모든 항목이 거부됩니다. 즉, 확장 프로그램을 설치하고 사용하는 동안 브라우저가 URL을 열지 않습니다.

업데이트 :

아래의 샘플 코드는 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); 

도움말 링크 :

+0

쿨 t 행크스, 이렇게하면이 방법을 사용하면 기본적으로 특정 웹 페이지 및 해당 웹 페이지를 사용하도록 허용 할 수 있습니까? 허용 목록에 추가되지 않는 한 다른 모든 사이트를 차단 하시겠습니까? 지금은 프레젠테이션 모드에서 브라우저를 만들 때 확장 기능을 사용할 수 있으므로 풀 스크린으로 URL 표시 줄에서 아이디어를 가져올 수 있지만 스크롤하면 URL 표시 줄을 볼 수 있도록 허용합니다. 어딘가에 가지 않으면 그 (것)들을시키지 않을 것이다. – SaSquadge

+0

예, 허용 된 목록에있는 URL을 제외한 모든 URL을 차단할 수 있습니다. 몇 가지 방법이 있습니다. URL이 거의없는 것으로 생각됩니다. URL이 적다면, 필요하지 않거나'array'를 사용하여 URL 목록 또는'localStorage'를 모두 한 줄로 설정할 수 있기 때문에 쉽게 얻을 수 있습니다.질문에 대한 답변을 예제 코드로 업데이트하여 도움이되는 링크를 추가로 제공 할 수 있도록 도와 드리겠습니다. 필요한 것을 얻을 수 있다고 생각합니다. – D3F4ULT

+0

큰 덕분에, API와 예제를 좀 더 살펴보고 이러한 여러 가지를 구현하는 방법을 알아야합니다. – SaSquadge

관련 문제