未捕获的类型错误:无法在 share-modal.js:1:135(匿名)处读取 null 的属性(读取“addEventListener”)

问题描述 投票:0回答:2

我正在使用 HTML CSS 和 Javascript 创建一个天气应用程序,但我不断收到空事件侦听器的错误,我什至不知道 在我的 DOM 中。

document.querySelector(".tui-image-editor-main-container .tui-image-editor-download-btn").addEventListener("click", (t=>{
    t.preventDefault(),

//这一行显示错误

incrementCounter = void setTimeout((function() {
   document.querySelector(".tui-image-editor-main-container .tui-image-editor-download-btn").addEventListener("click", (t=>{
        t.preventDefault(),
        chrome.storage.local.get(["openTimes", "rateClicked"], (function(t) {
            let {openTimes: n, rateClicked: o} = t;
            n ? n += 1 : n = 1,
            chrome.storage.local.set({
                openTimes: n
            }),
            o || n % 4 != 0 || document.getElementById("xxdialog-rate") || (document.querySelector("body").insertAdjacentHTML("beforeend", e),
            function() {
                for (var e = document.querySelectorAll("[i18n]"), t = 0; t < e.length; ++t)
                    e[t].textContent = chrome.i18n.getMessage(e[t].getAttribute("i18n"));
                for (e = document.querySelectorAll("[i18n-alt]"),
                t = 0; t < e.length; ++t) {
                    var n = chrome.i18n.getMessage(e[t].getAttribute("i18n-alt"));
                    e[t].alt = n,
                    e[t].title = n
                }
            }(),
            document.querySelector("#xxdialog-yes").addEventListener("click", (function() {
                chrome.storage.local.set({
                    rateClicked: !0
                }),
                document.getElementById("xxdialog-rate").remove(),
                window.open("https://chrome.google.com/webstore/detail/" + chrome.runtime.id + "/reviews", "_blank").focus()
            }
            )),
            document.querySelector("#xxdialog-no").addEventListener("click", (function() {
                document.getElementById("xxdialog-rate").remove()
            }
            )))
        }
        ))
    }
    ));
    const e = '\n<div id="xxdialog-rate" class="xxflex-container">\n    <div class="xxdialog">\n      <h2 class="xxdialog-header" i18n="rateDialogTitle"></h2>\n      <div class="xxdialog-content">\n        <p i18n="rateDialogDesc"></p>\n      </div>\n      <div class="xxdialog-button">\n        <a href="#" id="xxdialog-yes" class="xxcancel" i18n="rateDialogYes"></a>\n        <a href="#" id="xxdialog-no" i18n="rateDialogNo"></a>\n      </div>\n    </div>\n  </div>\n'
}
), 300);

互联网上没有任何关于此错误的信息。

javascript html dom addeventlistener
2个回答
0
投票

更改此行

document.querySelector(".tui-image-editor-main-container .tui-image-editor-download-btn").addEventListener("click", (t=>{
    t.preventDefault(),

document.querySelector(".tui-image-editor-main-container .tui-image-editor-download-btn")?.addEventListener("click", (t=>{
    t.preventDefault(),

注意

?
。这表明,仅当定义了前一部分而不是
?
null
时,才计算
undefined
之后的表达式。


-1
投票

删除浏览器上的屏幕截图 chrome 插件,错误消息来自扩展程序。

© www.soinside.com 2019 - 2024. All rights reserved.