我正在编写Firefox扩展程序。我正在使用与特定域匹配的内容脚本。我想从PHP页面获取数据。最终将CSS文件添加到页面以更改样式。 PHP页面的内容将是我获取的CSS文件的名称。这是我的内容脚本javascript,警报不返回任何内容。
我被告知我受同一原产地政策的限制。有什么方法可以从php页面获取数据吗?
function getData() {
client = new XMLHttpRequest();
try{
client.open('GET','http://localhost:8888/istyla/login/popuplogin/myaccount.php');
} catch (e){
alert( "error while opening " + e.message );
}
client.onreadystatechange = function(){
if (client.readyState ==4){
user_data = client.responseText;
var currenttheme = user_data;
alert (currenttheme);
}
}
client.send(null);
}
getData();
答案 0 :(得分:5)
您正在寻找JSONP。
答案 1 :(得分:3)
您现在可以使用Safari或IE不支持的Fetch API,但它是一个不错的选择。
您可以将其用作:
function getData(){
fetch('flowers.jpg').then(function(response) {
return response.blob();
})
}
if(self.fetch) {
// run my fetch request here
var resp = getData();
} else {
// do something with XMLHttpRequest?
}
您可以从MDN Using Fetch API获取更多信息。您可能需要More advance usage。
更新:您可能会发现这篇文章很有用That's so fetch!