搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

Learn More

Javascript Redirection Not Working

  • 2 个回答
  • 1 人有此问题
  • 13 次查看
  • 最后回复者为 Fred

more options

Hello,

I have a web page that prints a document, and then redirects back to the main page. This website has always worked in every browser, and now in Firefox 84.0.2 it no longer redirects.

What changed in Firefox, and how do I get it redirecting again?

Here is a snippet of the code in question:

<script type='text/javascript'>

    var interval = setInterval(function() {
         if(document.readyState === 'complete') {
              clearInterval(interval);
              window.print();
         }
    }, 100);
    
    window.onbeforeprint = function() {
         window.location = 'https://www.mozilla.org';
    }

</script>

Hello, I have a web page that prints a document, and then redirects back to the main page. This website has always worked in every browser, and now in Firefox 84.0.2 it no longer redirects. What changed in Firefox, and how do I get it redirecting again? Here is a snippet of the code in question: <script type='text/javascript'> var interval = setInterval(function() { if(document.readyState === 'complete') { clearInterval(interval); window.print(); } }, 100); window.onbeforeprint = function() { window.location = 'https://www.mozilla.org'; } </script>

所有回复 (2)

more options

FWIW this is the type of issue to report at https://bugzilla.mozilla.org/ rather than this end user support forum.

That said, it seems weird that you would navigate away from the page to be printed in `onbeforeprint`. Why not `onafterprint`?

more options

Jonathan Watt said

FWIW this is the type of issue to report at https://bugzilla.mozilla.org/ rather than this end user support forum. That said, it seems weird that you would navigate away from the page to be printed in `onbeforeprint`. Why not `onafterprint`?

Hi Jonathan,

Thank you for the reply. I use onbeforeprint in Firefox, because onafterprint does not seem to work.

For the time being, and just in case anyone else is having the issue, I have found that using a seperate setTimeout with an interval of 5 seconds seems to work for my purpose.