请求的资源上不存在“Access-Control-Allow-Origin”标头。与 github 站点

2023-12-26

http://kingdiepie.github.io/testing.html http://kingdiepie.github.io/testing.html

XMLHttpRequest 无法加载https://docs.google.com/spreadsheets/d/1_4d-MPxTUOVZbxTOlhjXv1ebTlBPQ-_JrYUlS1rqX5Q/pub?output=csv https://docs.google.com/spreadsheets/d/1_4d-MPxTUOVZbxTOlhjXv1ebTlBPQ-_JrYUlS1rqX5Q/pub?output=csv。请求的资源上不存在“Access-Control-Allow-Origin”标头。起源 'http://kingdiepie.github.io http://kingdiepie.github.io' 因此不允许访问。

我有一个 github 站点页面,正在尝试从 google 工作表中获取数据来创建 html 表,该代码在本地主机上运行良好,但在在线时无法运行。

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <script src="http://www.kryogenix.org/code/browser/sorttable/sorttable.js"></script>




  <head>
    <style>
      table.sortable thead {
        background-color: #eee;
        color: #666666;
        cursor: default;
      }
      /* Scrollability of table */
      table {
        width: 800px;
      }
      /* fixed width table */
      thead tr {
        display: block;
      }
      /* makes it sizeable */
      tbody {
        display: block;
        /* makes it sizeable */
        height: 600px;
        /* height of scrollable area */
        overflow: auto;
        /* scroll rather than overflow */
        width: 100%;
        /* fill the box */
      }
      thead th {
        width: 100px;
      }
      /* fixed width for THs */
      tbody td {
        width: 100px;
      }
      /* fixed width for TDs */
      table {
        color: #333;
        font-family: Helvetica, Arial, sans-serif;
        border-collapse: collapse;
        border-spacing: 0;
      }
      td,
      th {
        border: 1px solid transparent;
        /* No more visible border */
        height: 30px;
        transition: all 0.3s;
        /* Simple transition for hover effect */
      }
      th {
        background: #3086C2;
        /* Darken header a bit */
        font-weight: bold;
        color: white;
      }
      td {
        background: #000000;
        text-align: center;
      }
      /* Cells in even rows (2,4,6...) are one color */
      tr:nth-child(even) td {
        background: #EBEBF7;
      }
      /* Cells in odd rows (1,3,5...) are another (excludes header cells)  */
      tr:nth-child(odd) td {
        background: #FEFEFE;
      }
      tr td:hover {
        background: #3086C2;
        color: #FFF;
      }
      /* Hover cell effect! */
      body {
        margin: 0;
      }
      ul {
        list-style-type: none;
        margin: 0;
        padding: 0;
        width: 10%;
        background-color: #f1f1f1;
        position: fixed;
        height: 100%;
        overflow: auto;
      }
      li a {
        display: block;
        color: #000;
        padding: 8px 0 8px 16px;
        text-decoration: none;
      }
      li a.active {
        background-color: #3086C2;
        color: white;
      }
      li a:hover:not(.active) {
        background-color: #DFDFDF;
        color: #3086C2;
        font-weight: bold;
      }
      a:visited {
        color: #000000;
        text-decoration: none
      }
      a:link {
        color: #000000;
        text-decoration: none
      }
      table.sortable thead {
        background-color: #eee;
        color: #666666;
        font-weight: bold;
        cursor: default;
      }
    </style>
  </head>




</head>

<body>

  <script>
    var url = "https://docs.google.com/spreadsheets/d/1_4d-MPxTUOVZbxTOlhjXv1ebTlBPQ-_JrYUlS1rqX5Q/pub?output=csv";
    var cols = 8;
    var table = "<table class=\"sortable\" cellpadding=\"5\" id=\"theTable\">";
    xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4) {
        theData = xmlhttp.responseText;
        console.log(theData.substring(0));
        var rows = (theData.substring(0).split('"').length - 1) / 2 - 1;
        for (i = 0; i < rows; i++) {
          table += "<tr>"
          for (j = 0; j < cols; j++) {
            if (j == 0 || j == 5) {
              idx = theData.indexOf(',');
              theData = theData.substring(idx + 1)
            }
            if (i === 0) {
              table += '<th>';
              if (j === 7) {
                idx = theData.indexOf("\n");
                table += theData.substring(0, idx + 1);
                theData = theData.substring(idx + 1);
              } else {
                idx = theData.indexOf(',');
                table += theData.substring(0, idx + 1);
                theData = theData.substring(idx + 1);
              }

              if (table.lastIndexOf(",") === table.length - 1) {
                table = table.substring(0, table.length - 1);
              }
              table += '</th>';
            } else {
              table += "<td>"
              if (j === 7) {
                idx = theData.indexOf("\n");
                if (idx === -1) {
                  idx = theData.length;
                }
                table += theData.substring(0, idx + 1);
                theData = theData.substring(idx + 1);
              } else if (j != 5 && j != 6) {
                idx = theData.indexOf(',');
                table += theData.substring(0, idx + 1);
                theData = theData.substring(idx + 1);

              } else {

                theData = theData.substring(1);
                idx = theData.indexOf('"');
                data2 = theData.substring(0, idx);
                theData = theData.substring(idx + 1);
                theData = theData.substring(1);
                l = data2.substring(0).split(',').length;
                for (k = 0; k < l; k++) {
                  console.log(data2);
                  idx = data2.indexOf(",")
                  if (idx === -1) {
                    idx = data2.length;
                  }
                  table += data2.substring(0, idx);
                  table += "<br>"
                  data2 = data2.substring(idx + 1);
                }
              }
              if (table.lastIndexOf(",") === table.length - 1) {
                table = table.substring(0, table.length - 1);
              }
              table += "</td>"
            }
          }
          table += "</tr>"

        }
        table += "</table>"
        document.getElementById("display").innerHTML = table;
        var newTableObject = document.getElementById('theTable');
        sorttable.makeSortable(newTableObject);
      }
    };
    xmlhttp.open("GET", url, true);
    xmlhttp.send(null);
  </script>

  <div id="display"></div>
</body>

From: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

当资源从与第一个资源本身所服务的域不同的域请求资源时,它会发出跨域 HTTP 请求。例如,一个 HTML 页面由http://域名-a.com http://domain-a.com发出 src 请求http://domain-b.com/image.jpg http://domain-b.com/image.jpg。如今网络上的许多页面都会加载来自不同域的资源,例如 CSS 样式表、图像和脚本。

出于安全原因,浏览器限制从脚本内发起的跨源 HTTP 请求。例如,XMLHttpRequest遵循同源策略。因此,使用 XMLHttpRequest 的 Web 应用程序只能向其自己的域发出 HTTP 请求。为了改进 Web 应用程序,开发人员要求浏览器供应商允许 XMLHttpRequest 进行跨域请求。

W3C Web 应用程序工作组推荐新的跨域资源共享 (CORS) 机制。 CORS 为 Web 服务器提供跨域访问控制,从而实现安全的跨域数据传输。现代浏览器在 API 容器(例如 XMLHttpRequest)中使用 CORS 来降低跨源 HTTP 请求的风险。

您收到的错误消息:No 'Access-Control-Allow-Origin' header is present on the requested resource

告诉您 Google 不允许https://docs.google.com/spreadsheets/d/1_4d-MPxTUOVZbxTOlhjXv1ebTlBPQ-_JrYUlS1rqX5Q/pub?output=csv https://docs.google.com/spreadsheets/d/1_4d-MPxTUOVZbxTOlhjXv1ebTlBPQ-_JrYUlS1rqX5Q/pub?output=csv资源是跨域的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

请求的资源上不存在“Access-Control-Allow-Origin”标头。与 github 站点 的相关文章

  • Javascript拆分正则表达式问题

    你好 我正在尝试我认为在 Javascript 中相当简单的正则表达式 但给我带来了很多麻烦 我希望能够通过 javascript 通过 和 分割日期 var date 02 25 2010 var myregexp2 new RegExp
  • 如何使用 HTML 元素阻止 THREE.js 光线投射?

    我希望页面上的 HTML 元素阻止 THREE js 光线投射 我该如何执行此操作 我遇到的问题是 当用户单击打开的 DIV 元素时 光线投射会检索场景中的对象 它会检索 DIV 后面的对象 我不想在 DIV 打开时禁用光线投射 我纯粹希望
  • iOS Javascript DOM“冻结?”

    这里有几个问题 有没有办法阻止 iOS 在滚动时冻结页面上的 javascript 当您在另一个选项卡中或切换应用程序时 iOS 是否会冻结 JavaScript iOS 上还有其他主要的 javascript 限制吗 iOS 6 x 会暂
  • 如何共享 Swagger 文档

    我最近开始使用 Swagger 来编写文档 但有一些事情我仍然不清楚 我创建了 YAML 文档 现在我希望能够与团队的其他成员共享 pdf 或 HTML Javascript 页面中的文档 我无法使用 SwaggerHub 因为它们没有私有
  • 为什么这个 JavaScript 可以在 Safari 上运行,但不能在 Firefox 上运行?

    我有 HTML 文件 我在 Safari 上尝试了该代码 运行良好 但是当我在 Firefox 上尝试这个时 它不起作用 任何人都可以建议如何使其在 Firefox 上工作吗 单击撤消按钮时 我想从 jsp 文件中检索内容 当我在 mac
  • flexslider 中的 GIF 滑块,如何仅在滑块上时开始 gif

    现在我有一个带有四个幻灯片的 Flexslider 第三个滑块是 gif 而不是像其他滑块一样是 jpg 我遇到的问题是 第三个 gif 滑块显然在到达页面时立即启动 而不是在您实际到达该滑块时启动 当点击前两个滑块时 gif 就快完成了
  • 监听外部事件。 Bash 到 NodeJS 的桥梁

    在 NodeJS 进程内部 我如何监听来自 bash 的事件 例如 NodeJS side obj on something function data console log data Bash side do something Hel
  • 代理递归函数

    想象一个简单的递归函数 我们试图包装它以检测输入和输出 A simple recursive function const count n gt n 1 count n 1 Wrap a function in a proxy to ins
  • 在 Angular JS 中撤消重做

    我有一个大对象排列在 rootScope 中 比如说 gt 100 个对象 每个对象又具有对象 数组的层次结构 我想使用 deepWatching watch 整个 rootScope 即将 watch 的第三个参数设置为 TRUE 但这里
  • 根据用户的时间设置问候语(早上好,下午好......)

    任何人都可以推断如何根据用户的时间设置实现基本的 晚上好 或 早上好 也许 PHP 会获取服务器时间 但我希望用基于时间的适当问候语来问候网站访问者 并考虑到他们一天中的时间 E G 早上好 晚上好 下午好 基于它 getHours 日期对
  • CKEDITOR.styleSet.add - 'a' 元素的新样式

    由于某种原因如果我改变 p to a 它不再出现在样式列表中 有什么理由吗 CKEDITOR stylesSet add default name Wys wiersza 1 element p styles line height 18p
  • 使用 ECMA 脚本向节点(页面)添加新属性

    我需要在页面激活时向页面添加属性 我决定建立一个工作流程 在激活步骤之前执行相同的操作 我的自定义工作流程步骤 激活步骤之前的步骤 使用 ECMA 脚本来实现此目的 这是我到目前为止所拥有的 var workflowData granite
  • 如何使用 Soundcloud api 将流传输到 html5 音频播放器中?

    我刚刚开始学习 javascript 作为我的第一次尝试 我想创建自定义音频播放器 它使用 soundcloud 的 api 作为音乐源 到目前为止 这就是我的设置
  • Angular2 - 防止复选框被选中

    我有一个每行包含一个复选框的表 在表头中 我有一个Check All切换所有表格行框的复选框 我正在尝试实现一些逻辑 如果复选框的数量将超过特定限制 则显示错误并且不切换表行复选框或checkall盒子本身 有一个问题允许checkAll即
  • 在Vue.js 3中添加全局变量

    如何在 Vue js 3 中添加全局变量 在 Vue js 2 中 我们在main js file Vue prototype myGlobalVariable globalVariable 最直接的替换就是app config globa
  • 处理照片上传的最佳方式是什么?

    我正在为一个家庭成员的婚礼制作一个网站 他们要求的一个功能是一个照片部分 所有客人都可以在婚礼结束后前往并上传他们的照片 我说这是一个很棒的想法 然后我就去实现它 那么只有一个问题 物流 上传速度很慢 现代相机拍摄的照片很大 2 5 兆 我
  • javascript 函数后面括号中的值

    我正在尝试重新利用我在 SO 的答案中找到的一些 Javascript 代码 但我想首先更好地理解它的语法 其大纲是 function root ns factory some code window detectZoom function
  • 如何应对 WebStorm 中大量未解决的变量警告?

    我有一个从服务器获取数据的函数 function getData data console log data someVar 网络风暴说someVar是一个未解决的变量 我怎样才能摆脱这样的警告 我看到几个选项 禁止 IDE 设置中的警告
  • 如何优化 Three.js 中多个 sphereGeometry 的渲染?

    我想优化 Three js 中 sphereGeometry 的渲染 因为它成为我的程序的瓶颈 javascript程序如下所示 var sphereThree for var idSphere 0 idSphere lt numSpher
  • CSS 或 Javascript - 如果背景图像未加载,则显示后备文本[重复]

    这个问题在这里已经有答案了 如果徽标图形文件未加载或丢失 如何显示文本而不是徽标 我有带有背景 PNG 图像的 div div class iHaveBgImage this text should be displayed if bg i

随机推荐