Я хочу выполнить код, который я получил с сервера. Я могу получить код в моей консоли. Хотите, чтобы этот код выполнялся на главной странице браузера - PullRequest
0 голосов
/ 26 июня 2019

Итак, у меня есть очень простое расширение Google Chrome, в котором есть кнопка. Я получаю скрипт с помощью AJAX с сервера в консоли моего браузера. Таким образом, когда я нажимаю на расширение, появляется кнопка, и когда я нажимаю на эту кнопку - она ​​извлекает скрипт с сервера, и я могу загрузить этот скрипт в консоль, используя console.log

Я хочу запустить этот скрипт на моей текущей странице.

Итак, мой вопрос - как мне запустить этот скрипт на моей странице, который я загрузил в консоль моего браузера?

Вот мой основной HTML-код для кнопки -


<h4>Click here</h4>

<button class="button button5" id="bt1" >
  <img src="a.png" alt="Click Me" style="height:42px;border:0;">
</button>

Это мой основной JS-код, который загружает скрипт с сервера -


var buttonClick = document.getElementById('bt1');
buttonClick.addEventListener('click', loadDoc('https://abcd/xyz/pqr/Script1', myFunction));


function loadDoc(url, cFunction) {
  var xhttp;
  xhttp=new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      var data = this.responseText;
      cFunction(this);



      chrome.tabs.getSelected(null,function(tab) {


      chrome.tabs.executeScript({code: `console.log(${JSON.stringify(data)})`});
      chrome.tabs.getCurrent('data');
      //console.log(taburl);
     });
    }
  };
  xhttp.open("GET", url, true);
  xhttp.send();
}

Итак, у меня есть скрипт, загруженный в переменную "data"

Итак, теперь мне нужно скопировать этот скрипт из консоли и вставить его в мою консоль, чтобы скрипт выполнялся, и я увидел результат / вывод на моей текущей странице браузера.

Поэтому вместо того, чтобы копировать и вставлять его, я хочу, чтобы - когда я нажимал на кнопку в моем расширении, скрипт автоматически запускался / выполнялся на странице.

1 Ответ

0 голосов
/ 26 июня 2019

Я не уверен, как бы вы сделали это с расширением Chrome. Тем не менее, вы можете запустить JavaScript, используя букмарклет. Они действуют как закладки, но вместо перенаправления они запускают код. Вы можете преобразовать свой код в букмарклет с помощью на этом сайте

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