表单在Firefox中提交onbeforeunload

时间:2014-03-24 16:22:46

标签: javascript jquery

我正在编写一个javascript函数,它创建一个iframe和一个以框架为目标的表单。表格应在卸载页面之前提交表格。该代码适用于除Firefox之外的所有浏览器。

function unloadPage(message) {
    actionUrl = "https://test.testpage.com/log/logwatch.lw"
    var iframe = $('<iframe id="pageLogFrame" name="pageLogFrame" style="display:none;"></iframe>');
    var form = $('<form id="pageLogForm" target="pageLogFrame" method="post"></form>');
    $('body').append(iframe);
    $('body').append(form);
    form.attr('action',actionUrl);
    var input = $('<input type="hidden" name="pageLog" />');
    form.append(input);
    input.val(message);
    form.submit();
};

window.onbeforeunload = function(){
    var message = "sampleMessage";
    unloadPage(message);
};

有没有人有解决方案或想法如何在Firerox中完成这项工作?谢谢!

1 个答案:

答案 0 :(得分:0)

Firefox要求您指定void返回值。

  

该函数应将字符串值赋给Event对象的returnValue属性,并返回相同的字符串。

取自:https://developer.mozilla.org/en-US/docs/Web/API/Window.onbeforeunload

window.onbeforeunload = function(e) {
  return 'Dialog text here.';
};