3

我正在尝试在 Chrome 扩展中使用 XHR 从 Yahoo 获取天气信息:

$.ajax({
    url: "https://weather.yahooapis.com/forecastrss?w=" + 250226 + "&u=c",
    dataType: 'xml',
    success: function(data) {
        console.log(data);
    }
});

并且我已请求使用此脚本跨域的权限:

$("button").click(function(){
    chrome.permissions.request({
        origins: ['*://weather.yahooapis.com/*']
    }, function(granted) {
        if (granted) {
            console.log("Success creating permission.");   //successful
    } else {
            console.log("Not successful.");
    }
});

但是,它仍然给我一个错误说:

XMLHttpRequest cannot load http://weather.yahooapis.com/forecastrss?w=2502265&u=c. Origin chrome-extension://randomid is not allowed by Access-Control-Allow-Origin.

在此处输入图像描述

我想不出为什么会发生这种情况。任何想法?

4

1 回答 1

0

您的 Chrome 扩展程序有清单文件吗?看来这是问题所在,您还应该在那里设置跨域权限。

似乎 randomId 提及与未分配适当扩展 ID 的扩展有关。

于 2013-02-21T03:51:03.410 回答