for (let i=0;i<10;i++){ const html = `<webview src="http://www.github.com">i</webview>`; $('.container').append(html) } const webview = document.querySelectorAll('webview') webview[0].addEventListener('console-message', e => { console.log(e.message); if(e.message.indexOf('这次我回答了')!==-1){ alert('这才是我要的数据') } });需要在一个页面遍历一个或者多个webview标签,这个标签有个事件叫console-message,不定时会返回一些字符串,所以我要实时监听这个事件,假如事先我知道webview标签的数量这个就不是问题,但是这个标签可能是N个,那我就要建立N个addEventListener的监听事件,完全没有思路,请教大神给个思路,谢谢
4 回答
人到中年有点甜
TA贡献1895条经验 获得超7个赞
Cats萌萌
TA贡献1805条经验 获得超9个赞
首先console-message事件不同于click,mouseover事件,它不能冒泡,它也不能手动触发,它只是个主动返回字符串的事件,在这我只是用了一种很不规范的解决办法,就是直接for循环遍历js方法
const webview = document.querySelectorAll('webview')
for(let i=0;i<webview.length;i++){
webview[i].addEventListener('console-message', e => {
console.log(e.message);
if(e.message.indexOf('这次我回答了')!==-1){
alert('这才是我要的数据')
}
});
}
虽然知道这样很不规范,但是目前没有更好的方法
添加回答
举报
0/150
提交
取消