我有一个包含上传表单的 iFrame。上传成功后,我需要 Controller (或 iFrame View )刷新 iFrame 外部的 DIV。如何做到这一点?我在 iFrame View 中试过这个,它在上传后重新加载,但没有任何反应:
document.getElementById('reportContainer').contentDocument.location.reload(true);
最佳答案
如果您控制父级的代码,那么我建议采用发布/订阅解决方案。
iFrame
将向父级触发自定义事件。
当事件被触发时,父级将作用于目标 div
。
iFrame
代码:
var myCustomEventData = { foo: 'bar' } // optional if you need to pass data
var myEvent = new CustomEvent('myEvent', { detail: myCustomEventData });
window.parent.document.dispatchEvent(myEvent);
父代码:
window.document.addEventListener('myEvent', handleEvent, false)
function handleEvent(e) {
console.log(e.detail) // logs: {foo: 'bar'}
}
关于javascript - 在 JavaScript/ASP.net MVC 中从单独的 iFrame 刷新 Div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50591155/