技术解析

javascript 通过 iframe 提交然后删除包含本身 iframe 的父元素, Chrome 升级后提交事件不再执行
0
2021-08-17 02:53:23
idczone
  • 老系统很多地方用到 iframe,一直到几天前都没有问题
  • 最近 Chrome 升级到 83.0.4103.61 ( Official Build )后,上面的问题就出现了。
  • 提交后删除,提交事件不再被执行?请教有什么方案
// 重写 submit 函数??
HTMLFormElement.prototype._submit = HTMLFormElement.prototype.submit; 
HTMLFormElement.prototype.submit = function() {
  // 有什么办法来继续执行提交??
  this._submit();
}

// 提交
function uploadStartSubmit() {
  var obj = document.upform;
  // 这里不再执行
  obj.submit();
  // 包括这个函数在内的 iframe 都在 dialog_div_if 中
  closeObj = document.all("dialog_div_if");
  // 感觉被这行的清空处理,提交事件被忽略!
  closeObj.outerHTML ='';
}

好象是 Chrome 的 bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1085097&q=submit%20multiple&can=2

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服