Мой код HTML + JavaScript работает в онлайн-редакторах, но не в автономном режиме - PullRequest
0 голосов
/ 08 июня 2019

Я работаю с Sheets для преобразования листов Google в файлы JSON, а затем с помощью их API преобразую JSON в объекты javascript.

Проблема заключается в том, что код отлично работает в онлайн-редакторах, какПопробуйте это из W3Schools или Codepen, но если я помещу его в файл HTML и открою его в Chrome или Edge, он не будет работать.Кто-нибудь знает почему?Будет ли работать, если я подключу сайт онлайн?

<head>
  <!-- Add Sheetsu Web Client script to the head -->
  <script src="//script.sheetsu.com/"></script>
</head>

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

  <script>
    // API returns array of objects
    // Iterate over them and add each element as a list element
    function successFunc(data) {
      data.forEach(function(item, i) {
        document.getElementById("list").innerHTML += "<li>" + item.Precio + " " + item.Tipo + "</li>";
      });
    }

    function errorFunc(e) {
      console.log(e);
    }

    Sheetsu.read("https://sheetsu.com/apis/v1.0su/110ccf6a6812", {}).then(successFunc, errorFunc);
  </script>
</body>

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 08 июня 2019

Проблема заключается в следующем:

<script src="//script.sheetsu.com/"></script>

Когда вы запускаете URL ресурса / актива с "//" и без протокола (http | https), он совпадает с протоколом загрузки страницы. Если вы открываете локальный html-файл напрямую, этот протокол становится file://, поэтому запрошенный URL-адрес в итоге становится file://script.sheetsu.com/, чего, конечно, не существует.

Измените его на:

<script src="https://script.sheetsu.com/"></script>
0 голосов
/ 08 июня 2019

Я пробовал Firefox, и он работал. Проверьте изображение ниже:

Image using local html file

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...