2011-01-19 3 views
0

Расширения Chrome позволяют создавать XMLhttpRequests вне вашего собственного домена, если вы указали их в своем Json-файле. Однако после того, как я это сделал, я все еще получаю статус 0 при попытке сделать XMLhttpRequest. Кто-нибудь знает, как это исправить?Использование XMLHttpRequests в Javascript

Мой JavaScript:

var xhr = new XMLHttpRequest(); 
xhr.onreadystatechange = function() { 
    if (xhr.readyState == 4) { 
    alert(xhr.status); 
     if (xhr.status == 200) { 
     alert(xhr.responseText); 
     } 
    } 
} 
var url = "http://search.twitter.com/trends/current.json?exclude=hashtags"; 
xhr.open("GET", url, true); 
xhr.send(); 

Мой Json файл

{ 
    "name": "My First Extension", 
    "version": "1.0", 
    "description": "The first extension that I made.", 
    "browser_action": { 
    "default_icon": "icon.png", 
    "popup": "popup.html" 
    }, 
    "permissions": [ 
    "http://search.twitter.com/" 
    ] 
} 

Это ссылка на пример Google http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/howto/contentscript_xhr/background.html?view=markup

+0

Следует отметить, что ошибка кросс-происхождения, это очень важно имо. – serg

ответ

0

Похоже, что разрешения связаны с URL, не хостами.
Попробуйте использовать подстановочные

http://search.twitter.com/* 

http://code.google.com/chrome/extensions/match_patterns.html

+0

по-прежнему возвращает 0 в качестве статуса –

+0

Я пробовал его по шагам из http://code.google.com/chrome/extensions/getstarted.html, используя ваш код и получив статус 200 (работает без подстановочного знака). Обновляете ли вы расширение после его редактирования? –