У меня есть сайт в «разрешениях», но я продолжаю получать «Origin chrome-extension: // abc is not allowed by Access-Control-Allow-Origin».

Я начал новое расширение на основе более старого, которое я написал ранее и которое теперь работает правильно. Схема выполнения xhr вполне обычна для расширений Google Chrome: сценарий содержимого вызывает chrome.extension.sendRequest (data, callback), а фактический межсайтовый запрос выполняется в backround.html.

Кроме того, я убедился, что запрошенный сайт добавлен в раздел «разрешения» manifest.json.

Однако консоль background.html отображает: «... Origin chrome-extension: // .. не допускается Access-Control-Allow-Origin.»

Вопрос следующий: кроме отсутствие целевого домена в «разрешениях» (на самом деле я пробовал даже здесь), ЧТО ЕЩЕ может вызвать эту ошибку ?


Вот несколько важных фрагментов кода:

manifest.json:

{
    "name": "Register quote",
    "version": "0.0.2",
    "permissions": [ "" ],
    "background_page" : "background.html",
    "content_scripts": [
        {
            "matches": [
                "http://somedomain.com/*"
            ],
            "css": ["register_quote.css"],
            "js": ["jquery-1.3.2.min.js", "register_quote.user.js"]
        }
    ]
}

background.html: http://pastebin.com/0zLArvfA

register_quote.user.js:

// here's the final call, how it's prepared by the content script after all:
chrome.extension.sendRequest({
    'action': 'sendAjaxRequest',
    'url': "http://somedomain.com/the_script.php"
    'dataStr': "is_chrome=Y&ticketid=123123123&user=Vladimir+Mityukov&action=get_quoteids"
}, arg_callback);

PS: забыл упомянуть, в консоли backround.html также есть следующая ошибка:

 Error in event handler for 'undefined': TypeError: Cannot read property 'length' of undefined
    at setupPageActionEvents (chrome/ExtensionProcessBindings:424:36)
    at chrome/ExtensionProcessBindings:1021:5
    at [object Object].dispatch (chrome/EventBindings:182:28)
    at Object. (chrome/EventBindings:237:25)

Я понятия не имею, что означает это сообщение и какая часть моего кода может его вызвать. Сценарии, упомянутые здесь, не мои.

5
задан Wladimir Palant 13 January 2012 в 13:49
поделиться