2014-12-13 4 views
0

Надеюсь доставить значение из popup.js в background.js, чтобы я мог открыть веб-сайт в качестве ожидаемого. Я использую переменную localStorage в качестве значения моего json. Но когда выяснилось, что значение у меня есть delieverd для background.js в аргументе вход функции openTab (вход) всегда строка «localStorage.input». Как я могу это решить?Как доставить значение из popup.js в background.js

popup.js

window.onload=function() 
{ 
    localStorage.input=document.getElementById("search").value; 

    document.getElementById("submit").onclick=function() 
    { 
     chrome.extension.sendMessage({command:"start",input:localStorage.input}); 
    } 
} 

background.js

chrome.runtime.onMessage.addListener(
    function(request,sender,sendResponse) 
    { 
     switch(request.command) 
     { 
      case "start": 
       openTab(request.input); 
       break; 
     } 

     return true; 
    } 
); 

var openTab=function(input) 
{ 
    chrome.windows.create 
    (
     { 
      url:"http://www.baidu.com/s?wd="+input, 
     } 

    ); 
}; 
+0

Вы уверены, что хотите переопределить значение LocalStorage с пустым входом на окне. нагрузка()? – Todd

+0

Вы смешиваете 'extension.sendMessage' и' runtime.onMessage', вы можете этого избежать. (Используйте 'runtime.sendMessage') – Xan

+0

Извините, я поменял свое функционирование и использовал ** runtime.sendMessage **, но он все еще не работает – Spikerman

ответ

0

попробовать это

var lStore = localStorage.input || ''; 
window.onload=function() 
{ 
    var search = document.getElementById("search"); 
    search.value = lStore 

    document.getElementById("submit").onclick=function() 
    { 
     // var input = search.value; //try this as well 
     var input = lStore; 
     chrome.extension.sendMessage({command:"start",input:input}); 
    } 
} 
+0

Извините, я попробовал. Но он все еще не может работать. И я обнаружил, что значение ** ввода ** в background.js не имеет ничего. – Spikerman

+0

Вы также попробовали 'input = search.value' - прокомментированный? – Todd

+0

Спасибо! Он работает успешно! И я обнаружил, что проблема в моем локальном хранилище. Я ошибся с этим в моем popup.html :) – Spikerman

Смежные вопросы