Передача данных между расширением Chrome и веб-страницей - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь создать крошечное расширение Chrome.

У этого есть один вход, который содержит логин, который пользователь может нажать на кнопку.После нажатия скрипт вводится на текущую страницу, и я пытаюсь передать данные (логин введен в расширении html), но похоже, что он не работает, и я не знаю, как его протестировать, чтобы найти причину.почему он не работает.

На данный момент, предупреждение («Внедрение работает»);работает, но не предупреждение ("csEvent запущен");когда я нажимаю кнопку и в диспетчере расширений не появляется сообщение об ошибке.

Вот код:

Манифест

{
"name" :"Quick Pass",
"version" :"1.0",
"manifest_version": 2,
"description" :"Password for quick access",
"browser_action" :
    {
        "default_icon" : "icone.png",
        "default_popup": "popup.html"
    },
    "web_accessible_resources": ["inject.js"],
    "permissions": [
    "https://*/*",
    "http://*/*",
    "tabs",
    "activeTab"
  ]
}

buttonScript.js

document.getElementById("myButton").addEventListener("click", myFunction);

// When user clicks on the submit button of the extension, load the script on current tab
function myFunction() {
  chrome.tabs.getSelected(null, function(tab){
      chrome.tabs.executeScript({
          file: 'inject.js'
        });
    });

    // data you want to sent
    let data = {
        login: document.getElementById("loginPopup").value,
        pwd: "Password"
    };
    // send data through a DOM event
    document.dispatchEvent(new CustomEvent('csEvent', {detail: data}));

}

inject.js

// Injected from Chrome "APPI Pass" extension

(function() {

alert("inject is running");

document.addEventListener('csEvent', function (event) {

    alert("csEvent fired");
    console.log(event.detail.login+event.detail.pwd);

    document.getElementById("Email").value = event.detail.login;
    document.getElementById("Password").value = event.detail.pwd
    document.getElementByTagName("form").submit();
});

})();

И popup.html:

<DOCTYPE html>
<head>
</head>
<body>
<h2>Appi Magic</h2>
<h3>Enter Login:</h3>
<input type="text" id="loginPopup">
<button id="myButton">Let go</button>

<script src="buttonScript.js"></script>

</body>
</html>

Спасибо

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