Odmówił załadować skrypt 'https://www.gstatic.com/firebasejs/9.4.1/firebase-app.js" bo to narusza następujące Zasady zabezpieczeń treści

0

Pytanie

Pracowałem nad rozszerzeniem przeglądarki Chrome. Gdy próbowałem podłączyć firebase do aplikacji internetowej na dwa możliwe sposoby, żaden z nich nie działa.

  1. korzystanie z "npm install firebase" Kiedy próbowałem wykonać to polecenie, aby zainstalować firebase w folderze mojego projektu i napisał fireConn.js plik wraz z konfiguracją, którą dostałem z projektu firebase, utworzonego w Internecie.
import {initializeApp} from 'firebase/app';
import {getFirestore} from 'firebase/firestore';

Błąd, który otrzymałem, jest

Uncaught TypeError: Failed to resolve module specifier "firebase/app". Relative references must start with either "/", "./", or "../".
  1. za pomocą https://www.gstatic.com/firebasejs/9.4.1/firebase-app.js adres url do połączenia z bazą danych firebase
import {initializeApp} from "https://www.gstatic.com/firebasejs/9.4.1/firebase-app.js";
import {getFirestore} from "https://www.gstatic.com/firebasejs/9.4.1/firebase-firestore.js";

Ponieważ mój projekt jest rozszerzeniem chrome, mam plik manifest.json w następującym formacie:

{
  "name": "xxx",
  "manifest_version": 3,
  "version": "1.0",
  "permissions": ["cookies","tabs"],
  "host_permissions": ["<all_urls>"],
  "action": {
    "default_popup": "popup.html"
  },
  "content_security_policy": {
    "extension_pages": "script-src 'self'; object-src 'self'",
    "sandbox": "sandbox allow-scripts; script-src 'self' 'https://apis.google.com/' 'https://www.gstatic.com/' 'https://*.firebaseio.com' 'https://www.googleapis.com' 'https://ajax.googleapis.com'; object-src 'self'"
  }
}

Błąd, którą otrzymałem:(coś poszło nie tak z content_security_policy)

Refused to load the script 'https://www.gstatic.com/firebasejs/9.4.1/firebase-firestore.js' because it violates the following Content Security Policy directive: "script-src 'self'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.
1

Najlepsza odpowiedź

0

Po pierwsze, zmień import, jak pokazano poniżej:

import { initializeApp } from "https://www.gstatic.com/firebasejs/9.4.1/firebase-app.js";
import { getFirestore, collection, getDocs } from "https://www.gstatic.com/firebasejs/9.4.1/firebase-firestore.js";

Więcej informacji na ten temat można znaleźć w dokumentacji. Ponieważ używasz pakiet modułów, do niego należy dodać typ="moduł". Poprawny format musi być:

<script type="module" src="........”></script>

Proszę zwrócić uwagę: src zależy od tego, jak zadajesz drogę.

Można również zapoznać się z wideo "Rozpoczynanie pracy z Firebase", aby zapoznać się z podstawami sieci web Firebase. Ponadto, nie można połączyć się z Firebase,do tego można dodać неперехваченная błąd w Firebase.

2021-11-22 09:28:05

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................