Как использовать localStorage в chrome расширении - PullRequest
0 голосов
/ 11 марта 2020

Я создал расширение chrome, которое открывает камеру при нажатии на значок расширения. мой код в содержании. js работает хорошо. но когда я перезагружаю сайт камера исчезает. Я знаю, что если я хочу показать камеру даже перезагрузить страницу, я должен использовать localStorage. Но когда я пытаюсь использовать его, моя камера не работает. не могли бы вы мне помочь, пожалуйста? Можете ли вы показать мне, как я могу использовать localStorage для этого случая?

вот мой код в контенте. js

chrome.runtime.onMessage.addListener(
    function({ShowCamera}, sender, sendResponse) {
        if(ShowCamera){
            let html = `
            <div class = "video-container">        
              <video style="width: 240px; margin: 0px;" autoplay="true" id="videoElement"></div>
            </div>`

            function setupCam() {
                 navigator.mediaDevices.getUserMedia({
                   video: true
                }).then(mediaStream => {
                    document.querySelector('#videoElement').srcObject = mediaStream;
                }).catch((error) => {
                  console.warn(error);
                });
              }

              setupCam();
              document.body.innerHTML += html;
            }   
 });

фон. js

chrome.browserAction.onClicked.addListener(function(){
  chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
    chrome.tabs.sendMessage(tabs[0].id, {ShowCamera: "true"});    
  });
})

1 Ответ

0 голосов
/ 11 марта 2020
chrome.storage.local.set({ myKeyForCamAccess: 'myValueHere' });

chrome.storage.local.get('myKeyForCamAccess', (data) => {
        if (data.myKeyForCamAccess) {
          //do somthing
        }
      });
...