Google chrome Google Chrome中选项页和背景页之间的通信

Google chrome Google Chrome中选项页和背景页之间的通信,google-chrome,Google Chrome,我正在尝试一个简单的Google Chrome扩展,在这个扩展中,我需要在选项页面和背景页面之间进行通信,以获取/设置选项 我尝试了chrome.extension.sendRequest(..)和chrome.extension.onRequest.addListener(..),但没有成功 我错过什么了吗?或者我应该发布我的代码吗?在your background.html中,可以有如下内容: <html> <script> settings = { ge

我正在尝试一个简单的Google Chrome扩展,在这个扩展中,我需要在选项页面和背景页面之间进行通信,以获取/设置选项

我尝试了chrome.extension.sendRequest(..)和chrome.extension.onRequest.addListener(..),但没有成功


我错过什么了吗?或者我应该发布我的代码吗?

在your background.html中,可以有如下内容:

<html>
<script>
  settings = {
    get foo() {
      return localStorage['foo'];
    },
    set foo(val) {
      localStorage['foo'] = val;
    }
  }
</script>
</html>

设置={
getfoo(){
返回localStorage['foo'];
},
设置foo(val){
本地存储['foo']=val;
}
}
现在在选项页面中,您可以简单地使用。例如,在options.html中:

<html>
<head>
  <script>
  var bkg = chrome.extension.getBackgroundPage();
  function saveOptions() {
    bkg.settings.foo = 'bar';
  }
  function restoreOptions() {
    document.getElementById('foo').value = bkg.settings.foo;
  }
  </script>
</head>
<body onload="restoreOptions()"> 
  <form onsubmit="return false;">
    <input id="foo" type="text" />
    <button onclick="saveOptions();">Save</button>
  </form>
</body>
</html>

var bkg=chrome.extension.getBackgroundPage();
函数saveOptions(){
bkg.settings.foo='bar';
}
函数恢复选项(){
document.getElementById('foo')。value=bkg.settings.foo;
}
拯救
记住一件事,开发指南是你最好的朋友:)
是的,那不行:

<!--
  - JavaScript and HTML must be in separate files: see our Content Security
  - Policy  http://developer.chrome.com/extensions/contentSecurityPolicy.html
 -->

通常情况下,最好发布您的代码,或者发布一个没有任何无关内容的演示问题的精简版本。人们在看到代码时更容易判断出哪里出了问题。