📜  HTML DOM Script crossOrigin 属性(1)

📅  最后修改于: 2023-12-03 15:01:10.218000             🧑  作者: Mango

HTML DOM Script crossOrigin 属性

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 属性来设置请求的跨域属性。

注意事项
  1. 设置 crossOrigin 属性时,要确保你正在使用的脚本服务器也支持跨域请求。否则,crossOrigin 属性无法生效;
  2. 如果通过 file:// 协议访问当前页面,那么 crossOrigin 属性也会失效。因为 file:// 协议不属于任何域名范畴;
  3. 在设置 crossOrigin 属性之前,要确保脚本的 src 属性已经正确设置。否则,crossOrigin 属性也会失效;
  4. 不同浏览器支持的跨域属性可能存在差异,需要根据实际情况来选择不同的跨域属性。