我正在尝试在我的索引页面中导入本地js文件。它适用于Chrome和Firefox,但Safari显示错误消息。
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/[email protected]/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中失败?
通过将crossorigin
添加到我的导入中,Safari接受了[[相同来源资源。
<script src="/js/i18next.js" type="module" crossorigin></script>
不幸的是,Safari没有提供无缓存模式,这使我的测试更加麻烦。