為了改善您的使用體驗,本網站正在進行維護,部分功能暫時無法使用。若本站的文件無法解決您的問題,想要向社群發問的話,請到 Twitter 上的 @FirefoxSupport 或 Reddit 上的 /r/firefox 發問,我們的社群成員將很快會回覆您的疑問。

搜尋 Mozilla 技術支援網站

防止技術支援詐騙。我們絕對不會要求您撥打電話或發送簡訊,或是提供個人資訊。請用「回報濫用」功能回報可疑的行為。

了解更多

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.