保存下一个会话的popup.html信息

时间:2014-01-12 03:44:12

标签: javascript google-chrome-extension

我觉得这很简单,但我无法理解。

我的应用程序基本上通过执行完美的document.getElementById来修改popup.html页面。

[..]
document.getElementById("data").innerHTML = "inserting data here"
[..]

正如预期的那样,当点击远离popup.html时,页面将关闭。当它打开时,修改不再存在。

我一直在寻找背景页面https://developers.google.com/chrome/apps/docs/background?csw=1#example-permission来尝试解决这个问题,但我觉得它不会像我需要的那样。

有没有人有任何建议 ?

谢谢!

2 个答案:

答案 0 :(得分:1)

当弹出窗口打开时,您可以使用localStoragesessionStorage来存储值

localStorage.setItem('mydata', 'inserting data here')

当弹出窗口加载时,您可以从中获取值

document.getElementById("data").innerHTML = localStorage.getItem('mydata')

所以你的代码就是这样的

if(localStorage.getItem('mydata')) {
   document.getElementById("data").innerHTML = localStorage.getItem('mydata')
} else {
   localStorage.setItem('mydata', 'inserting data here')
}

如果弹出窗口与主页面具有相同的域,则可以正常工作

答案 1 :(得分:1)

您可以使用Chromes内置存储API来实现此目的。

http://developer.chrome.com/extensions/storage.html

//在你的清单中

"permissions": [
    "storage"
  ],

//保存

function saveChanges() {
  // Get a value saved in a form.
  var theValue = textarea.value;
  // Check that there's some code there.
  if (!theValue) {
    message('Error: No value specified');
    return;
  }
  // Save it using the Chrome extension storage API.
  chrome.storage.local.set({'value': theValue}, function() {
    // Notify that we saved.
    message('Settings saved');
  });
}

//检索

chrome.storage.local.get('value', function(data) {
   // act upon data.
});