"permissions": [

"activeTab" ,

"storage",

"background",

"tabs",

"alarms",

"notifications"

], -> 권한기능얻을것들

"icons": { "16": "doge16.png",

"32": "doge32.png",

"48": "doge48.png",

"128": "doge128.png" },->아이콘

 

"content_scripts": [

{

"matches": ["*://*.dogdrip.net/*"],

"js": ["dogdrip.js"]

}

], ->동작 사이트 결정

 

"background": {

"scripts": ["background.js"],

"persistent": false-> 백드라운드 유지 옵션

}, ->백그라운드 돌것들

 

 

 

"content_security_policy": "script-src 'self' https://code.jquery.com https://cdnjs.cloudflare.com/ https://stackpath.bootstrapcdn.com; object- src 'self'", ->CDN 크로스도메인 허용목록

 

 

 

 


'오락기 > Chrome' 카테고리의 다른 글

message  (0) 2018.10.12
storage  (0) 2018.10.12

메시지 패싱

 

Popup에서 content.js background 보낼때 사용했다.

 

Popup-> background

#popup

let port = chrome.extension.connect({

// name: "Sample Communication"

})

// console.log(set)

port.postMessage(set)

port.onMessage.addListener(function(msg) {

// console.log("message recieved" + msg);

})

#background

chrome.extension.onConnect.addListener( (port) => {

// console.log("Connected .....")

port.onMessage.addListener( (msg) => {

~~~

});

 

})

 

 

 

Tab으로 보내기

#popup

chrome.tabs.query({}, tabs => {

tabs.forEach( tab => {

chrome.tabs.sendMessage(tab.id, type);

})

})

 

#content

chrome.runtime.onMessage.addListener(msgObj => {

type = msgObj

})

 

 

 

 

 

 

 

 


'오락기 > Chrome' 카테고리의 다른 글

manifest  (0) 2018.10.12
storage  (0) 2018.10.12

chrome.storage.sync.get( (result) =>{

// console.log(result)

if(result.block != undefined || result.block != null){

if(result.blockMemo ==undefined || result.block == null){

result.blockMemo = []

}

if(result.block.length !== result.blockMemo.length){

// console.log(result.block)

// console.log(result.blockMemo)

concatList(result.block , result.blockMemo)

}

drawGrid(result)

}

})

 

브라우저 쿠키에 저장하는 방식인거같다.

 

Sync local 두가지 형태로 저장  조회가 가능하다.

 

Get set으로 조회 저장한다.

 

chrome.storage.sync.set( {'interval' : check }, () => {

// console.log('set to ' , check)

})

 

 

콜백 방식으로하기때문에 코딩시 주의해야한다.

 

 

내경우엔 다름과같이 처리함

 

 

processStorage(callBack , member , {member : member , memo : memo })

 

const processStorage = (callback , addMember , memo) =>{

chrome.storage.sync.get( (items) => {

callback('block', items['block'] , addMember )

callback('blockMemo', items['blockMemo'] , memo )

})

}

const callBack = (key, val , addMember ) =>{

if(val == null || val == undefined ) {

val = []

}

val.push(addMember)

if(key == 'block'){

chrome.storage.sync.set( {'block' : val }, () => {

// console.log('set to data :' , val)

})

}else if(key == 'blockMemo'){

chrome.storage.sync.set( {'blockMemo' : val }, () => {

// console.log('set to data :' , val)

})

}

}

 

 

아직 이벤트부분을 사용못해봤따

 

Events

onChanged

Fired when one or more items change.

addListener

chrome.storage.onChanged.addListener(function callback)

 

출처: <https://developer.chrome.com/apps/storage>

 

 

 

 

 


'오락기 > Chrome' 카테고리의 다른 글

manifest  (0) 2018.10.12
message  (0) 2018.10.12

+ Recent posts