Манифест Chrome Extensions Файл Разрешения Совпадение не работает? - PullRequest
0 голосов
/ 29 января 2012

Я работаю над расширением Chrome и до сих пор пытаюсь применить расширение только к URL с «http://www.facebook.com/events/*".

Это мой файл манифеста:

{
    "name": "my extension",
    "version": "1.0",
    "description": "my extension",
    "browser_action": {
        "default_title": "myextension",
        "default_icon": "icon.png"
    },
    "background_page": "background.html",
    "permissions": [
        "tabs", "http://www.facebook.com/events/*"
    ]
}

Однако,когда я пытаюсь применить свое расширение только к "http://www.facebook.com/",, расширение продолжает работать и выдавать нежелательные действия.Что по-твоему происходит?Спасибо!

1 Ответ

1 голос
/ 30 января 2012

Я предполагаю, что фоновая страница ссылается на некоторый JavaScript (или имеет JavaScript прямо в нем), который все еще работает?

Причина в том, что permissions, который вы установили, это tabsфоновая страница всегда будет загружаться независимо от этого разрешения.Если вы хотите предотвратить загрузку кода на фоновой странице, вам нужно сделать что-то вроде этого:

Либо включать скрипт только при нажатии действия браузера:

chrome.browserAction.onClicked.addListener(function(tab) {
    //do something
});

Илизапретить загрузку скрипта только на тех страницах, которые вы хотите:

chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
    if (tab.url.indexOf("//www.facebook.com/events/") > -1) {
    // do something         
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...