Связь со сценариями содержимого без запроса разрешения «вкладки» - PullRequest
1 голос
/ 25 июля 2011

При разработке расширения для Chrome мой фоновый скрипт должен взаимодействовать со скриптами содержимого на вкладках, загружаемых с определенного сайта. Есть ли способ общения без использования chrome.tabs.sendRequest?

Эта функция требует разрешения «вкладки», которое отображается как «это расширение имеет доступ к вашей истории просмотра», что отпугивает пользователей.

Ответы [ 2 ]

4 голосов
/ 25 июля 2011

Извините, другого пути нет.

ОБНОВЛЕНИЕ

На самом деле есть способ.Вместо переноса данных с фоновой страницы в скрипт контента вы можете извлекать данные из скрипта контента, и для этого не требуются никакие разрешения:

скрипт контента:

chrome.extension.sendRequest({cmd: "getData"}, function(response) {
    console.log("data:", response);
});

фоновая страница:

chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
    if(request.cmd == "getData") {
        sendResponse({param1: "value1", param2: "value2"});
    }
});
1 голос
/ 26 июля 2011

Помните, что даже если вы можете общаться с фоновой страницей, не используя chrome.tabs.sendRequest (на самом деле это почти невозможно ), вам все равно нужно разрешение tabs для внедрения скрипта содержимого.

Подробнее: http://code.google.com/chrome/extensions/content_scripts.html

...