Невозможно установить свойство 'src' для нулевого расширения Chrome - PullRequest
0 голосов
/ 13 апреля 2019

Я пытаюсь написать расширение для Chrome, которое должно выбрать URL текущей открытой вкладки.Расширение основано на всплывающих окнах, поэтому я создал HTML, код которого выглядит следующим образом:

<html>
<head>
    <title>popup</title>    
</head>
<body>
<img src="www.insertrandom.com/query=" id="urlstore">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="content.js"></script>
</body>
</html>

, когда я открываю эту веб-страницу и проверяю элемент (ctrl + shift + i), ошибок вообще НЕТ.Но если я проверяю элементы на других веб-страницах (которые на самом деле есть в Интернете), например, stackoverflow, я получаю ошибку:

Невозможно установить свойство 'src', равное нулю

Ранеезадаваемые вопросы по stackoverflow, например: Невозможно установить свойство 'src' с нулевым значением и Ошибка: Невозможно установить свойство 'src' с нулевым значением не удалось решить проблему.

//content.js
var curr_url = window.location.href;
var base_url = "www.insertrandom.com/query=";
document.getElementById("urlstore").src = base_url+curr_url;

И еще одна проблема заключается в том, что когда я открываю всплывающее окно на других веб-страницах, я получаю URL-адрес chrome-extension://insertrandomid/popup.html, а не текущий URL-адрес

1 Ответ

0 голосов
/ 13 апреля 2019

Обратите внимание, что document.getElementById("urlstore").src = base_url+curr_url;. Это означает, что вам нужен элемент с идентификатором urlstore на вашей странице. Если элемент с идентификатором urlstore не существует / включает атрибут src , вы получите ошибку Cannot set property 'src' of null. Если существует document.getElementById("urlstore"), вы должны войти в этот элемент, чтобы проверить, существует ли атрибут src : console.log(document.getElementById("urlstore"));

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