Join the AMA (Ask Me Anything) with the Firefox leadership team to celebrate Firefox 20th anniversary and discuss Firefox’s future on Mozilla Connect. Mark your calendar on Thursday, November 14, 18:00 - 20:00 UTC!

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

搜尋 Mozilla 技術支援網站

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

了解更多

mozCancelFullScreen() not working and firefox not exiting fullscreen even though this function was called on document

more options

I have a container which gets into full screen mode using mozRequestFullScreen() API but I want to get back to non-fullscreen mode after one of my custom event is fired.

As soon as my custom event is fired, I call mozCancelFullScreen() API to exit full screen but this seems to be not working. Firefox is not exiting fullscreen even though this function was called on document.

I have to press "Esc" to get into non-fullscreen mode.

I am uding Firefox 21.0 version.

I have a container which gets into full screen mode using mozRequestFullScreen() API but I want to get back to non-fullscreen mode after one of my custom event is fired. As soon as my custom event is fired, I call mozCancelFullScreen() API to exit full screen but this seems to be not working. Firefox is not exiting fullscreen even though this function was called on document. I have to press "Esc" to get into non-fullscreen mode. I am uding Firefox 21.0 version.

所有回覆 (8)

more options

由 cor-el 於 修改

more options

Thanks for the reply. I am using the same API as mentioned in the urls. But the issue is something different here.

"As soon as my custom event is fired, I call mozCancelFullScreen() API to exit full screen but this seems to be not working. Firefox is not exiting fullscreen even though this function was called on document."

Also, pressing "Esc" to exit fullscreen in Firefox is inconsistent. I have to interact with flash plugin (my video player) like click or something and after than if I press "Esc" key, I am able to exit fullscreen.

Appreciate your help. Thanks.

more options

There is a demo here showing that a user-initiate keyboard event can trigger both the request and the cancel: https://developer.mozilla.org/samples/domref/fullscreen.html

Could the problem be that you are not responding to a user-initiated event??

more options

I have the same problem. User-initiated event is mouse click, not key press, I wonder if that is the problem?

In Mozilla's demo, key event is used, not mouse event. Is mouse event also supported?

I am 100% sure that within callback function onclick I am calling document.mozCancelFullScreen() but nothing happens. Alert box that I placed in the same function, after mozCancelFullScreen() call is triggered. There's no error report in Firebug.

If there would be a working demo that uses onclick event to switch from fullscreen to normal, that would be highly appreciated!


p.s.

In Mozilla's demo, key event listener is added to document, while my onclick event to a div element. Maybe that's the problem?

由 Sinisa Spasojevic 於 修改

more options

Hi visionmax, could you post a link to your page, or create a demo on http://jsfiddle.net/ ?

more options

Hi jscher2000,

Here's the code: http://jsfiddle.net/ahMST/

I've actually realized, while copy-pasting code from my project (I couldn't use it as-is since there were a lot of dependencies and prototyping) that there was a typo in my code, instead of mozCancelFullScreen I had mozCancelFullscreen.

Though the code does not work on jsfiddle.net, it does work on host: http://www.visionmax.hk/tmp/fstest/

Thanks!

more options

Hi visionmax, on your site, I have to approve the full screen before I can click, but then it does close. So it's solved?

more options

Hi jscher2000,

Yes it is solved: ".... that there was a typo in my code, instead of mozCancelFullScreen I had mozCancelFullscreen."

-) typo error, and since I had checked "if( document.mozCancelFullscreen )", and which was always null, no errors were reported in Firebug.