@blinow99
Работаю фотографом и дизайнером, занимаюсь сайтами

Почему ошибка JS в консоли расширения для Opera?

Разрабатываю расширения для Chrome (Opera and Yandex). Появилась ошибка в консоли "Uncaught TypeError: Cannot set property 'onclick' of null"

Код с ошибкой в строке
// When the popup HTML has loaded
window.addEventListener('load', function (evt) {
    var btnGetKeyWord = document.getElementById('btnGetKeyWord');
    var lblFeedback = document.getElementById('lblFeedback');
    var txtResult = document.getElementById('txtResult');
    var btnCopy = document.getElementById('btnCopy');

    // Get Keyword
    btnGetKeyWord.onclick = function () { // Error 
        chrome.tabs.getSelected(null, function (tab) {
            chrome.tabs.sendRequest(tab.id, { method: "getTag" }, function (response) {
                if (response == undefined || response.method !== "getTag" || response.data == '') {
                    lblFeedback.innerHTML = 'Ключевые слова не найденны =(.';
                    lblFeedback.className = "alert alert-danger";
                    return;
                }

                txtResult.innerHTML = response.data;
                lblFeedback.innerHTML = 'Найденно ' + response.count + ' ключевых слов.';
                lblFeedback.className = "alert alert-success";
            });
        });
    };
    // Function Copy
    btnCopy.onclick = function () {
        if (txtResult.innerHTML.indexOf('How to Use') !== -1) {
            lblFeedback.innerHTML = 'Active when keyword is detected.';
            lblFeedback.className = "alert alert-danger";
            return;
        }

        if (lblFeedback.innerHTML.indexOf('Copied') == -1 && lblFeedback.innerHTML.indexOf('Not found tag.') === -1) {
            lblFeedback.innerHTML = lblFeedback.innerHTML + ' Скопированно!!';
            lblFeedback.className = "alert alert-success";
        }

        txtResult.select();
        document.execCommand('copy');
    };

});
Html popap
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <link rel="stylesheet" href="style.css">
</head>
<body>
     <div style="width: 350px;" class="header"> <img class="logo" src="icon32.png" alt=""> <h4 class="name">KeyWords</h4>
    </div> 
    <br>
    <div id="lblFeedback"></div>
    <textarea id="txtResult" class="form-control" cols="10" rows="10" readonly></textarea>
    <br>
    <div>
      <button id="btnGetKeyWord" class="btn btn-success">Получить слова</button>
      <button id="btnCopy" class="btn btn-info">Скопировать слова</button>
 </div>
  <hr> 
    <center><a href="https://www.facebook.com/blinovapps/" target="_blank">Facebook</a> | <a href="https://vk.com/blinov_apps" target="_blank">Vkontakte</a></center>
  <script type="text/javascript" src="popup.js"></script>
</body>
</html>

Как решить?
  • Вопрос задан
  • 137 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы