Javascript Safari 5扩展可在不打开窗口的情况下加载URL

Javascript Safari 5扩展可在不打开窗口的情况下加载URL,javascript,safari,background,load,safari-extension,Javascript,Safari,Background,Load,Safari Extension,我的javascript相当差,但我想要的是。我的服务器上有一个PHP脚本,当用户按下我的Safari扩展按钮时,我希望向我的服务器(www.myurl.com/directory/script.PHP?等)发送一个请求(url),但我并不希望打开一个新的窗口/选项卡来加载它。有没有一种方法可以将它加载到一个隐藏的窗口中,并在完成时关闭它,或者类似的方法,或者使用SafariAPI或者直接的javascript 谢谢大家 Straight Javascript具有默认情况下执行后台异步HTTP请

我的javascript相当差,但我想要的是。我的服务器上有一个PHP脚本,当用户按下我的Safari扩展按钮时,我希望向我的服务器(www.myurl.com/directory/script.PHP?等)发送一个请求(url),但我并不希望打开一个新的窗口/选项卡来加载它。有没有一种方法可以将它加载到一个隐藏的窗口中,并在完成时关闭它,或者类似的方法,或者使用SafariAPI或者直接的javascript

谢谢大家

Straight Javascript具有默认情况下执行后台异步HTTP请求的功能

文档链接指向Mozilla的,尽管它与Safari的工作原理相同

var request = new XMLHttpRequest();
request.open("GET", "http://www.example.com/mypage");
request.onreadystatechange = function()
{
    // "4" means "completed"
    if (request.readyState != 4) return;

    // do something with the response from the server
    alert(request.responseText);
}
request.send();
Safari扩展无法从注入的脚本执行跨域请求。例如,如果您的用户访问google.com,您无法从注入的脚本向example.com发送请求,因为域不匹配。(实际上,协议和端口也必须匹配。)

这意味着您将需要您的全局页面来执行请求,而您注入的脚本将必须向其传递消息。Safari开发者中心提供了大量关于这方面的文档