javascript - 在 JavaScript/ASP.net MVC 中从单独的 iFrame 刷新 Div

标签 javascript asp.net-mvc iframe

我有一个包含上传表单的 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/

相关文章:

javascript - react : Do children always rerender when the parent component rerenders?

javascript - undefined variable ,在渲染方法 React 的 if/else 内部分配

javascript - AngularJS 1.x 选择 MultiSelect 添加新值

asp.net-mvc - 在 Kendo UI ASP.net MVC 中使用 ViewModel

javascript - 嵌入在 iframe 调整大小事件中的 Angular2 应用程序

javascript - 这段 javascript 有什么作用?这被 ESET 标记为木马

asp.net-mvc - StringLength/Minlength 验证不会阻止用户发布没有值的表单

c# - 访问 View 中的viewdata对象

javascript - 不要将鼠标滚轮滚动传播到 IFRAME 及其内容

http - 使用 http 加载 html 时无法显示 "file"协议(protocol) url src 的 iframe