Safari 无法加载本地 js 文件.报告跨域错误 [英] Safari cannot load local js file. Reports cross-origin error

查看:59
本文介绍了Safari 无法加载本地 js 文件.报告跨域错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在我的索引页中导入本地 js 文件.它适用于 Chrome 和 Firefox,但 Safari 显示错误消息.

I am trying to import a local js file in my index page. It works in Chrome and Firefox, but Safari is showing an error message.

Blocked https://example.com/js/i18next.js from asking for credentials because it is a cross-origin request.
https://example.com/js/i18next.js

index.php

<?php include "global-php-scripts.php"; ?>
<!DOCTYPE html>
<html lang="<?=$htmlLang?>">
<head>
  <title>mySite</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta charset="UTF-8" />
  <meta name="keywords" />
  <?php include "js-imports.php"; ?>
  <!-- localization-->
  <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/i18next-xhr-backend/3.2.2/i18nextXHRBackend.min.js"></script> -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/i18next-locize-backend/2.2.2/i18nextLocizeBackend.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/i18next/2.0.22/i18next.min.js"></script>
  <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/i18next-browser-languagedetector/4.0.1/i18nextBrowserLanguageDetector.min.js"></script> -->
  <script src="https://unpkg.com/i18next-browser-languagedetector/i18nextBrowserLanguageDetector.js"></script>


  <script src="https://cdn.jsdelivr.net/npm/loc-i18next@0.1.4/loc-i18next.min.js"></script>

  <! -- THIS FAILS!!! -->
  <script src="/js/i18next.js" type="module"></script>
  <! -- /THIS FAILS!!! -->

  <!-- end localization -->
  <link rel="stylesheet" href="css/style.css" type="text/css" media="all" />

  <link href="https://fonts.googleapis.com/css?family=Montserrat:300,400,600|Roboto:700&display=swap" rel="stylesheet">
</head>

为什么在 Safari 中导入失败?

Why does the import fail in Safari?

推荐答案

通过将 crossorigin 添加到我的导入,Safari 接受了 same origin 资源.

By adding crossorigin to my imports Safari accepted the same origin resource.

<script src="/js/i18next.js" type="module" crossorigin></script>

不幸的是,Safari 不提供无缓存模式,这使我的测试变得更加繁琐.

Unfortunately Safari does not provide a no-caching mode which made my testing a lot more cumber-stone.

这篇关于Safari 无法加载本地 js 文件.报告跨域错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆