簡體   English   中英

將html字符串設置為div的innerHTML時如何捕獲錯誤

[英]How to catch the error while setting html string to div's innerHTML

我正在嘗試使用HTML字符串設置DIV的innerHTML。 HTML字符串可能包含帶有onclick事件的按鈕。 onclick事件可能已附加到某些功能,而HTML字符串可能不提供此功能。

例如,

HTML字符串:

var htmlString = "<div><img onerror='someFunc()' src='path/to/image'>Click Me </img> </div>";

在上面的html字符串中, someFunc函數不適用於HTML字符串。

設置innerHTML:

var div = document.createElement('div');
div.innerHTML = htmlString;

因此,當我將htmlString設置為div的innerHTML時,它將引發Uncaught ReferenceError:someFunc未定義

我嘗試使用try catch捕獲錯誤,但未執行catch塊。

在這里

請幫我。

在這里,我演示了不使用try catch的情況。 在鉻上工作。 我不確定它將如何在其他瀏覽器上運行。

var images = ['/asd','anotherurl'];

for (i = 0; i < images.length; i++) { 
    console.log(images[i]);
    var img = new Image();

    img.src = images[i];
    if(img.height > 0){
        var div = document.createElement('div');
        div.appendChild(img);
        document.getElementById('div').appendChild(div);
    }
}

JsFiddle http://jsfiddle.net/q8mo2df8/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM