Как вставить инлайновый скрипт на DOM веб страницы при разработке расширения для гугл хром?

Ссылка скопирована
1 ответ

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

Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'wasm-unsafe-eval' 'inline-speculation-rules' http://localhost:* http://127.0.0.1:*". Either the 'unsafe-inline' keyword, a hash ('sha256-3KMyfpVc1AAPAXZwvaclH7xABOh/ex3PeI2L4JF1gBw='), or a nonce ('nonce-...') is required to enable inline execution.

Как вставить инлайновый скрипт на DOM веб страницы при разработке расширения для гугл хром?

Обозначу сразу, я не имею доступа к исходному кода и контактов с разработчиками данного сайта.
Проблема заключается в том, что мне нужно отловить webSocket, немного его модифицировать и сохранить у себя instance, по которому я потом смогу стучатся и отправлять сообщения по каналу. Иного варианта как это сделать без вставки скрипта непосредственно в дом у меня уже нет.

Как вставить инлайновый скрипт на DOM веб страницы при разработке расширения для гугл хром?

Может кто-то на опыте подскажет как решить данный вопрос. За ранее спасибо.

Дополнительно:

если разработчики не предоставили апи для этого - то никак.

  • Artem Tsarev чтобы вставить скрипт в контент страницы - https://developer.chrome.com/docs/extensions/refer...
    Смотри по документации и какой манифест используешь (V2 или V3).
    Для V3 - https://developer.chrome.com/docs/extensions/refer...
    Естественно в манифесте нужно разрешить доступ к странице.
    Как помнится, напрямую со скриптами на странице работать не получится. Но для себя можно сделать очень многое.
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Кирилл JS Ответ

    Для вставки инлайнового скрипта на DOM веб-страницы при разработке расширения для Google Chrome, вам нужно использовать Content Scripts. Content Scripts - это JavaScript файлы, которые внедряются в веб-страницу и могут взаимодействовать с DOM этой страницы.

    Вот пример того, как можно вставить инлайновый скрипт на DOM веб-страницы с помощью Content Scripts:

    1. Создайте JavaScript файл для вашего Content Script. Например, script.js.

    2. Внутри этого файла определите функцию или код, который вы хотите вставить на веб-страницу. Например, следующий код вставит абзац с текстом "Hello, world!" в тег body:

    document.body.innerHTML += '<p>Hello, world!</p>';

    document.body.innerHTML += '<p>Hello, world!</p>';

    3. Теперь нужно добавить этот Content Script в файл манифеста вашего расширения (manifest.json). Укажите путь к вашему скрипту в секции "content_scripts":

    "content_scripts": [
      {
        "matches": [""],
        "js": ["script.js"]
      }
    ]

    "content_scripts": [ { "matches": [""], "js": ["script.js"] } ]

    4. После этого перезагрузите ваше расширение в браузере Google Chrome.

    Теперь при открытии любой веб-страницы, ваш инлайновый скрипт будет автоматически вставлен в DOM этой страницы. Помните, что Content Scripts имеют ограниченный доступ к API браузера, поэтому не все функции будут доступны из Content Script.

    Надеюсь, это поможет вам в разработке вашего расширения для Google Chrome! Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно