Javascript 如何捕获将html字符串设置为div';s innerHTML

Javascript 如何捕获将html字符串设置为div';s innerHTML,javascript,html,Javascript,Html,我试图用HTML字符串设置DIV的innerHTML。HTML字符串可能有带有onclick事件的按钮。onclick事件可能已附加到某个函数,该函数可能无法与HTML字符串一起使用 比如说, HTML字符串: var htmlString = "<div><img onerror='someFunc()' src='path/to/image'>Click Me </img> </div>"; 因此,当我将htmlString设置为div的in

我试图用HTML字符串设置DIV的innerHTML。HTML字符串可能有带有onclick事件的按钮。onclick事件可能已附加到某个函数,该函数可能无法与HTML字符串一起使用

比如说,

HTML字符串:

var htmlString = "<div><img onerror='someFunc()' src='path/to/image'>Click Me </img> </div>";
因此,当我将htmlString设置为div的innerHTML时,它抛出uncaughtreferenceerror:someFunc未定义

我尝试使用
try catch
捕捉错误,但未执行catch块

JSFIDLE


请帮帮我。

我在这里演示了不使用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);
    }
}
var-images=['/asd','anotherurl'];
对于(i=0;i0){
var div=document.createElement('div');
儿童分部(img);
document.getElementById('div').appendChild(div);
}
}

我几乎可以肯定你不能。您可以使用
addEventListener
附加事件处理程序。顺便说一句,你打算在一个捕鼠区内做什么在catch块中,我必须显示某种警告消息,表示您提供的html字符串有一些错误。甚至我也尝试将OneError事件侦听器添加到div中,但没有成功:(为什么要使用内联事件处理程序?@JLRishe htmlString可能在我们的代码中没有内联事件处理程序。如果不清理内联事件处理程序,插入无法控制的html字符串是不安全的。您的应用程序将容易受到脚本注入的攻击。JsFiddle链接已断开[导航到旧版本的JsFiddle]请检查我的问题。我想捕获在将html字符串设置为dom时引发的错误。您的答案类似于加载图像。无法检查文件是否存在并且不加载(读取)即可访问我不想检查文件是否存在,但我想将html字符串内容加载到DOM的innerHTML中,并希望在出现错误时捕获错误
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);
    }
}