Я запустил новое расширение на основе более старого, которое я написал ранее и которое теперь работает правильно.Схема выполнения xhr является довольно нормальной для расширений Google Chrome: контентный скрипт вызывает chrome.extension.sendRequest (data, callback), а фактический межсайтовый запрос выполняется в backround.html.
Также,Я убедился, что запрошенный сайт добавлен в раздел «разрешения» файла manifest.json.
Однако консоль background.html отображает: «... Исходное расширение chrome: // ..Access-Control-Allow-Origin не разрешает. "
Вопрос в следующем: кроме отсутствия целевого домена в" разрешениях "(я даже пытался даже здесь), Что еще может вызвать эту ошибку ?
Вот некоторые существенные фрагменты кода:
manifest.json:
{
"name": "Register quote",
"version": "0.0.2",
"permissions": [ "<all_urls>" ],
"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.<anonymous> (chrome/EventBindings:237:25)
Понятия не имею, что это за беспорядоквозраст означает, и какая часть моего кода может быть причиной этого. Сценарии, упомянутые здесь, не мои.