我正在使用使用原型库的第三方软件。在Firefox的最新更新(版本68及更高版本)之前,它运行良好。在其他浏览器中仍然可以使用。我尝试调试,并且每当引入断点并逐步执行代码时,它就会起作用。我找到了下面的代码行,如果我跨过这些代码并让其运行,则可以解决问题。但是,如果我让代码在此之前运行,就会出现问题。
return formView.submit();
有什么主意吗?我什至可以接受黑客攻击。
更新:
我按照建议创建了MRE。这是链接https://brandsoftinfotech.com/test/firefox-frame-submit/
我创建了2种形式,一种在父页面中,一种在框架中。在提交父页面表单时,框架页面表单将被提交并将数据写入日志文件。提交时,表单页面仅显示该日志文件中的数据。
index.html
<!DOCTYPE html>
<html>
<head>
<script>
function submitFunction() {
var myFrame = document.getElementById("myFrame");
var myForm = myFrame.contentWindow.document.getElementById("myForm");
myForm.submit();
}
</script>
</head>
<body>
<form action="index-submit.php" onSubmit="submitFunction()">
<input type="submit" value="Submit">
</form>
<iframe id="myFrame" src="frame-box.html"></iframe>
</body>
</html>
frame-box.html
<form action="frame-submit.php" id="myForm">
First name:<br>
<input type="text" name="firstname" value="Mickey"><br>
Last name:<br>
<input type="text" name="lastname" value="Mouse"><br><br>
</form>
这在Chrome,MS Edge上正常工作,但在Firefox上不工作。
我不确定是否可以解决此问题,但是至少这应该对我的库代码有效。