我的Chrome扩展程序问题

时间:2016-09-02 10:23:34

标签: google-chrome-extension

我做了一个小扩展,更改默认搜索引擎并将不跟踪功能设置为开。扩展程序有效,但它会导致我的网站(也可能是其他人)出现问题。

在我的网站上,我有一个设置页面,可以更改一些内容,例如文本颜色,语言。当我打开扩展程序时,设置不再有效。按钮不保存我的选择。

编辑:我注意到问题来自“chrome_settings_overrides”部分。如果我把它取下来按钮再次正常工作。也许某事阻止了POST请求?

我已在Google展示信息中心验证我的网站是否为所有者,但这并未改变任何内容。

这是manifest.json:

{
  "incognito": "spanning",
  "name": "...",
  "version": "1.0.5",
  "manifest_version": 2,
  "minimum_chrome_version": "23",
  "icons": {
    "16": "images/logo-16.png",
    "32": "images/logo-32.png",
    "48": "images/logo-48.png",
    "128": "images/logo-128.png"
  },
  "chrome_settings_overrides": {
      "search_provider": {
         "encoding": "UTF-8",
         "favicon_url": "http://www.mywebsite/favicon.ico",
         "is_default": true,
         "keyword": "...",
         "name": "...",
         "search_url": "http://www.mywebsite/search/index.php?a=web&q={searchTerms}"
      }
  },
  "description": "...",
  "default_locale": "fr",
  "background": {
    "scripts": [
      "scripts/background.js"
    ]
  },
  "browser_action": {
    "default_icon": {
      "16": "images/logo-16.png",
      "32": "images/logo-32.png",
      "48": "images/logo-48.png"
    },
    "default_title": "mywebsite"
  },
  "options_page": "options.html",
  "options_ui": {
    "page": "options.html",
    "chrome_style": true
  },
"permissions": [ "cookies", "webRequest", "webRequestBlocking", "activeTab" ]
}

我在设置页面上使用了这种按钮:

<form action="http://www.mywebsite.com/search/index.php?a=preferences" method="POST" class="form-horizontal">
	<label class="radio">
			<input type="radio" name="linkw" id="linkOffw" value="_top" {$linkOffw} />
			<strong>Non</strong> - Ne pas ouvrir les r&eacute;sultats dans un nouvel onglet.
		</label>
		<label class="radio">
			<input type="radio" name="linkw" id="linkOnw" value="_blank" {$linkOnw} />
			<strong>Oui</strong> - Ouvrir les r&eacute;sultats dans un nouvel onglet.
		</label>
<button type="submit" class="btn btn-info">Enregistrer mes pr&eacute;f&eacute;rences</button>
	<a href="http://www.mywebsite.com" class="btn">Retour</a>
</form>

我需要在我的清单上设置一些权限吗?

这是background.js

chrome.webRequest.onBeforeSendHeaders.addListener(function(details) {
	details.requestHeaders.push({name: "DNT", value: "1"});
	return {requestHeaders: details.requestHeaders};
}, {urls: ["<all_urls>"]}, ["requestHeaders", "blocking"]);

function iconClicked() {
    chrome.tabs.create({
        'url': 'http://www.mywebsite.com'
    });
}

chrome.browserAction.onClicked.addListener(iconClicked);

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。 这是愚蠢的,是如此愚蠢,以至于你没有想到它...... 问题来自“search_url”,我没有在我的网址中使用HTTPS,你必须使用HTTPS。 Raaaaaaaaaa!但现在没关系,那是最重要的事情。 感谢。