通过getElementById()方法获取iframe元素时,可以看到获取的是整个iframe标签,此时是获取不到里面的a元素的;需要再往下找iframe里的document元素。
获取a元素失败
所以,要改变iframe标签里的元素属性,需要获取iframe下的document元素。
用.contentWindow.document 或者 .contentDocument 来获取。
<iframe id="bpmIframe" :src="src" />
mounted() {
const iframe = document.querySelector('#bpmIframe')
if (iframe.attachEvent) {
iframe.attachEvent('onload', () => {
document.getElementById('bpmIframe').contentWindow.document.getElementsByClassName('fa-close')[0].onclick = function() {
window.history.back()
}
})
} else {
iframe.onload = () => {
document.getElementById('bpmIframe').contentWindow.document.getElementsByClassName('fa-close')[0].onclick = function() {
window.history.back()
}
}
}
}