📅  最后修改于: 2023-12-03 15:01:10.218000             🧑  作者: Mango
HTML DOM Script 对象的 crossOrigin 属性用于设置脚本文件的跨域请求属性。返回的值是一个字符串,表示当前脚本跨域的设置。
<script>
element.crossOrigin = "anonymous|use-credentials";
</script>
crossOrigin 属性的值可以为以下两种字符串之一:
anonymous
:脚本在跨域请求时,不会发送任何用户验证信息(如 cookie 等)。use-credentials
:脚本在跨域请求时,会发送用户验证信息(如 cookie 等)。<!DOCTYPE html>
<html>
<head>
<title>HTML DOM Script crossOrigin 属性</title>
</head>
<body>
<p id="text"></p>
<script>
const script = document.createElement("script");
script.src =
"https://api.github.com/users/octocat/repos?callback=showRepos";
script.crossOrigin = "anonymous";
document.body.appendChild(script);
function showRepos(res) {
const text = document.getElementById("text");
text.innerHTML = JSON.stringify(res);
}
</script>
</body>
</html>
在这个例子中,我们创建了一个带有 crossOrigin
属性的 script
标签,其 src
属性指向 Github 的 API 接口,并在 callback
参数中指定回调函数 showRepos
。由于 Github 的 API 接口并非当前页面所在域名的接口,因此我们需要使用 crossOrigin
属性来设置请求的跨域属性。
crossOrigin
属性时,要确保你正在使用的脚本服务器也支持跨域请求。否则,crossOrigin
属性无法生效;file://
协议访问当前页面,那么 crossOrigin
属性也会失效。因为 file://
协议不属于任何域名范畴;crossOrigin
属性之前,要确保脚本的 src
属性已经正确设置。否则,crossOrigin
属性也会失效;