Расширение Chrome для инъекций Javascript (встраивание в чат Botpress) - PullRequest
0 голосов
/ 09 октября 2018

Я не могу встроить чат Botpress в расширение Chrome.Вот ботпресс документы по встраиванию - https://botpress.io/docs/latest/recipes/embedding/

Это в основном 2 строки HTML-сценариев.Но в расширении Chrome Dev нужно вводить JavaScript.Поэтому я делаю это так -

main.js (скрипт содержимого)

function injectChat() {
        const script = document.createElement('script');
        script.setAttribute("type","text/javascript");
        script.setAttribute("src", 'https://cb7yghyfdfc.ngrok.io/api/botpress-platform-webchat/inject.js');
        document.body.appendChild(script);

        var settings = document.createElement('script');
        var settingsText = document.createTextNode("window.botpressWebChat.init({ host: 'https://cb7yghyfdfc.ngrok.io' });");
        settings.appendChild(settingsText);
        document.body.appendChild(settings);

        console.log("injecting chat!");
}

manifest.json

{
  "manifest_version": 2,

  "name": "Name",
  "description": "Description",
  "version": "1.0",

  "browser_action": {
    "default_icon": "src/img/logo.png"
  },

  "background": {
        "scripts": ["src/js/background.js"],
        "persistent": false
  },

  "permissions": [
      "https://cb7yghyfdfc.ngrok.io/",
      "https://cb7yghyfdfc.ngrok.io/api/botpress-platform-webchat/inject.js",
      "identity",
      "identity.email",
      "storage"
  ],

  "content_security_policy": "script-src 'self' https://cb7yghyfdfc.ngrok.io/; object-src 'self'",

  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "js": ["src/build/main.js"],
      "css": ["src/build/main.css"]
    }
  ],

  "web_accessible_resources": [
        "src/build/*"
    ]
}

К сожалению, это не встраивание иЯ получаю эту ошибку -

TypeError: Cannot read property 'init' of undefined
    at <anonymous>:1:24

Эта инициализация из window.botpressWebChat.init (.....)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...