Внедрение данных в тег HTML - PullRequest
1 голос
/ 30 сентября 2019

Я разрабатываю расширение для Microsoft Edge и узнал из документации здесь https://docs.microsoft.com/en-us/microsoft-edge/extensions/guides/creating-an-extension#writing-a-more-complex-extension, что я могу использовать Javascript для манипулирования данными.

По какой-то причине, хотя я пытаюсь изменитьэлемент DOM, подобный этому:

<!DOCTYPE html>
<html>
<body>

<p></p>

<script type='text/javascript'>
  document.getElementsByTagName('P')[0].innerHTML = 'something';

</script>
</body>
</html>

Я получаю желаемый результат в любом интерпретаторе HTML / JAVASCRIPT, но когда я пытаюсь проверить его в расширении, манипулирование DOM не работает. Элемент p не заполнен чем-то. Файл manifest.json включен в папку расширений. Я просто не включаю его здесь, поскольку он не имеет отношения к вопросу.

Как мне поступить?

Обновление:

window.html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset='utf-8'>
    <link rel='stylesheet' href='window.css'>

  </head>

<body>
<div><p></p></div>

<script src="window.js"></script>
</body>
</html>

window.js:

window.onload() {
  document.getElementsByTagName('P')[0].innerHTML = 'hakuna matata';
};

1 Ответ

0 голосов
/ 30 сентября 2019

Вы должны импортировать функцию JavaScript, используя тег <script>, как показано ниже:

В myfunction.js файле из папки js:

document.getElementsByTagName('p')[0].innerHTML = 'something';

В html файле:

<!DOCTYPE html>
<html>
  <body>
    <p></p>
    <script src="js/myfunction.js"></script>
  </body>
</html>

Я тестировал его в расширении Edge: если мы будем использовать функцию JavaScript непосредственно на странице html, она не будет работать. Если мы используем ссылку на файл js, то это работает.

...