gpt4 book ai didi

javascript - Safari 5 扩展无需打开窗口即可加载 URL

转载 作者:行者123 更新时间:2023-11-29 17:31:21 26 4
gpt4 key购买 nike

我不太擅长 javascript,但这就是我想要的。我的服务器上有一个 PHP 脚本,当用户按下我的 Safari 扩展按钮时,我想要一个请求(url)发送到我的服务器(www.myurl.com/directory/script.php?etc),但我没有真的不想打开一个新窗口/选项卡来加载它。有没有办法将它加载到隐藏窗口并在完成后关闭它或类似的东西,无论是使用 Safari API 还是直接的 javascript?

谢谢大家!

最佳答案

直接 Javascript 有 XMLHttpRequest ,它执行后台,默认异步 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 扩展无法从注入(inject)的脚本执行跨域请求。例如,如果您的用户访问 google.com,您无法从注入(inject)的脚本向 example.com 发送请求,因为域不匹配。 (实际上,协议(protocol)和端口也必须匹配。)

这意味着您需要全局页面来执行请求,并且您注入(inject)的脚本必须向它传递消息。 Safari 开发者中心提供了大量相关文档。

关于javascript - Safari 5 扩展无需打开窗口即可加载 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3689796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com