Theo phần mở rộng chrome API cuộc gọi cross-nguồn gốc sử dụng đối tượng XMLHttpRequest nên được cho phép nếu đặt quyền:Cross-Origin XMLHttpRequest trong phần mở rộng chrome
Một phần mở rộng có thể nói chuyện với các máy chủ từ xa bên ngoài xuất xứ của nó, miễn vì nó lần đầu tiên yêu cầu quyền đối với nguồn gốc chéo.
Tôi đang theo dõi sát the tutorial nhưng mã dưới đây đem lại cho tôi một thông báo lỗi:
XMLHttpRequest không thể tải http://www.google.com/search?hl=en&q=ajax. Phần mở rộng chrome gốc: // bmehmboknpnjgjbmiaoidkkjfcgiimbo không được Access-Control-Allow-Origin cho phép.
Tôi không chỉ cho phép yêu cầu tới google.com, mà còn yêu cầu bất kỳ trang web nào nhưng vẫn không thể vượt qua được. Có ai giúp được không?
file manifest của tôi:
{
"name": "The popup",
"version": "0.1",
"popup": "popup.html",
"permissions": [
"http://*/*",
"https://*/*",
"https://www.google.com/*",
"http://www.google.com/*"
],
"browser_action": {
"default_icon": "clock-19.png",
"default_title": "This is title",
"default_popup": "popup.html"
}
}
cuộc gọi thực tế:
function sendRequest() {
document.write("Sending request");
var req = new XMLHttpRequest();
req.open("GET", "http://www.google.com/search?hl=en&q=ajax", true);
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.status == 200) {
alert(req.responseText);
document.write("OK");
}
}
};
req.send();
}
Đã xảy ra sự cố tương tự. Tôi đã làm với việc không thiết lập quyền miền chéo trong manifest.json. Tôi sẽ thêm http://developer.chrome.com/extensions/xhr.html để những người khác tìm thấy. – Jono