Отправка данных из входного содержимого в Firebase - PullRequest
0 голосов
/ 18 января 2020

Я делаю расширение chrome с пользовательским всплывающим окном, которое появляется после загрузки страницы. Я хотел бы сохранить отправленные ответы из поля ввода в моей базе данных Firebase, чтобы я не мог включить их в другой веб-сайт. Это все работает, но проблема в том, что ответы от расширения блокируются:

Блокировка перекрестного чтения (CORB) блокирует ответ перекрестного происхождения с текстом MIME типа text / plain. Подробнее см.

Как я могу решить эту проблему?

Примечание: я не профессионал в этом, поэтому я очень признателен за простое решение :)


это мои шаги:

Я скачал базу данных о огнях. js и добавил ее в свой манифест. json:

"matches": ["<all_urls>"],
        "js": [  "Libraries/firebase-app.js",
                "Libraries/firebase-firestore.js",
                "sketch.js"],

Я сделал инъекцию html к веб-странице, используя скрипт-контент:

<div id="bg-modal">
<div class="modal-content">
  <button class="close">+</button>
    <div class="text"></div>

      <form class="antwortfeld antwortfeld1" action="">
          <textarea type="text" name="antwort" placeholder="Antworten"></textarea>
          <button class="Senden">Senden</button>
      </form>

Я добавил конфигурацию приложения firebase и инициализировал firebase в скрипте контента

// Your web app's Firebase configuration
var firebaseConfig = {
  apiKey: "...TRZeHhLQ9gMa4V4gy9WSlQ",
  authDomain: "....firebaseapp.com",
  databaseURL: "https://....firebaseio.com",
  projectId: "....",
  storageBucket: "....appspot.com",
  messagingSenderId: "...0021",
  appId: "1:385077100021:.....ba5a776b4bc"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);

const db = firebase.firestore();

, затем добавил также контент-скрипт для сохранения входных данных в firebase:

const form1 = document.querySelector('.antwortfeld1');


// saving data
form1.addEventListener('submit', (e) => {
  e.preventDefault();
  db.collection('Antworten').add({
    Antwort1: form1.antwort.value,
  })

  form1.antwort.value = ' ';
})

Как я уже сказал, все работает, но я заблокирован. Я думаю, мне придется использовать background-script, чтобы обойти это? Как это будет выглядеть? Есть еще варианты?

...