Как отправить данные из chrome.tabs.executeScript в PHP? - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь получить результат из файла типа chrome.tabs.executeScript и отправить его в файл PHP.

Вот мой подход:

**Popup.js Source Code**

// Here I have initiated the tab listener to get the source of the page.

chrome.runtime.onMessage.addListener(function(request, sender) {
  if (request.action == "getSource") {
    message.innerText = request.source;
  }
});

// Я здесьВыполнение файла getPagesSource.js и сохранение ответа массива в htmlout.

function onWindowLoad() {
      var message = document.querySelector('#message');
      chrome.tabs.executeScript(null, {
        file: "getPagesSource.js"
      }, htmlout);



jQuery.ajax({
    url: "http://gggg.com/core/backend/connect.php",
    data:{ htmlout: htmlout }, 
    type: "POST",
    success: function(data) {
      console.log(data);
      htmlout = [];
    },
    error: function (){}
  });
}

// Executing Script
window.onload = onWindowLoad;

Результат: Программа не запущена.Нет ответаПросто сообщение по умолчанию в #message «Вставка скрипта .....»

**getPagesSource.js Source Code**

function DOMtoString(document_root) {
    var html = '',
        node = document_root.firstChild;
    while (node) {
        switch (node.nodeType) {
        case Node.ELEMENT_NODE:
            html += node.outerHTML;
            break;
        case Node.TEXT_NODE:
            html += node.nodeValue;
            break;
        case Node.CDATA_SECTION_NODE:
            html += '<![CDATA[' + node.nodeValue + ']]>';
            break;
        case Node.COMMENT_NODE:
            html += '<!--' + node.nodeValue + '-->';
            break;
        case Node.DOCUMENT_TYPE_NODE:
            // (X)HTML documents are identified by public identifiers
            html += "<!DOCTYPE " + node.name + (node.publicId ? ' PUBLIC "' + node.publicId + '"' : '') + (!node.publicId && node.systemId ? ' SYSTEM' : '') + (node.systemId ? ' "' + node.systemId + '"' : '') + '>\n';
            break;
        }
        node = node.nextSibling;
    }


    var fg = html;




    return fg;  



}





chrome.runtime.sendMessage({
    action: "getSource",
    source: DOMtoString(document)
});

Popup.html Исходный код

<!DOCTYPE html>
<html style=''>
<head>


<script src='popup.js'></script>
</head>
<body style="width:400px;">
<div id='message'>Injecting Script....</div>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...