Sibeesh Passion

Top Menu

  • Home
  • Search
  • About
  • Privacy Policy

Main Menu

  • Articles
    • Azure
    • .NET
    • IoT
    • JavaScript
    • Career Advice
    • Interview
    • Angular
    • Node JS
    • JQuery
    • Knockout JS
    • Jasmine Framework
    • SQL
    • MongoDB
    • MySQL
    • WordPress
  • Contributions
    • Medium
    • GitHub
    • Stack Overflow
    • Unsplash
    • ASP.NET Forum
    • C# Corner
    • Code Project
    • DZone
    • MSDN
  • Social Media
    • LinkedIn
    • Facebook
    • Instagram
    • Twitter
  • YouTube
    • Sibeesh Venu
    • Sibeesh Passion
  • Awards
  • Home
  • Search
  • About
  • Privacy Policy

logo

Sibeesh Passion

  • Articles
    • Azure
    • .NET
    • IoT
    • JavaScript
    • Career Advice
    • Interview
    • Angular
    • Node JS
    • JQuery
    • Knockout JS
    • Jasmine Framework
    • SQL
    • MongoDB
    • MySQL
    • WordPress
  • Contributions
    • Medium
    • GitHub
    • Stack Overflow
    • Unsplash
    • ASP.NET Forum
    • C# Corner
    • Code Project
    • DZone
    • MSDN
  • Social Media
    • LinkedIn
    • Facebook
    • Instagram
    • Twitter
  • YouTube
    • Sibeesh Venu
    • Sibeesh Passion
  • Awards
  • Linux Azure Function Isolated Dot Net 9 YAML Template Deployment

  • Build, Deploy, Configure CI &CD Your Static Website in 5 mins

  • Post Messages to Microsoft Teams Using Python

  • Get Azure Blob Storage Blob Metadata Using PowerShell

  • Deploy .net 6 App to Azure from Azure DevOps using Pipelines

JavaScript
Home›JavaScript›Programmatically Change The Element Or Page Into Full Screen Mode

Programmatically Change The Element Or Page Into Full Screen Mode

By SibeeshVenu
March 7, 2016
1667
0
Share:
Chnage_Element_To_Full_Screen_In_Google_Chrome_Error

In this article we are going to see how we can change any element or any page into full screen mode programmatically. To do this requirement we are going to use client side API requestFullscreen . To make it compatible to all the browsers, we will be using separate API calls for each browsers. By using requestFullscreen , you can easily make the items to be viewable in a full screen mode. That’s cool right? You can use Video’s, Audio’s, Images, Pages or anything. Now shall we go and see this in detail? I hope you will like this.

Download the source code

You can always download the source code here:

  • Programmatically Change The Element Or Page Into Full Screen Mode
  • Background

    Yesterday I have got a requirement to do the full screen option programmatically in one of my application, I was required to open a chart, which is already being loaded to a page, in full screen mode. I have done that with the help of full screen API. Here I am going to show you that. Now we will start our coding. I hope you will enjoy reading.

    Create an Empty Website in Visual Studio

    Click File-> New-> Web Site.

    Empty Website In Visual Studio

    Empty Website In Visual Studio

    Create a new HTML page

    Now create a new page, start coding.

    [html]
    <!DOCTYPE html>
    <html>
    <head>
    <title>Programmatically Change The Element Or Page Into Full Screen Mode</title>
    <meta charset="utf-8" />
    </head>
    <body>
    </body>
    </html>
    [/html]

    Using The Code

    We will be using pure JavaScript code to do this requirement. Firs of all create the container element and one other element in which we can fire the full screen function in on click event.

    [html]
    <div id="container" align="center"></div>
    <img src="full_screen.png" onclick="changeToFullScreen()" title="Click to change to full screen"/>
    [/html]

    Here changeToFullScreen() is the function which does the task.

    [js]
    <script>
    function changeToFullScreen() {
    var itm = document.getElementById("container");
    if (itm.requestFullscreen) {
    itm.requestFullscreen();
    } else if (itm.msRequestFullscreen) {
    itm.msRequestFullscreen();
    } else if (itm.mozRequestFullScreen) {
    itm.mozRequestFullScreen();
    } else if (itm.webkitRequestFullscreen) {
    itm.webkitRequestFullscreen();
    }
    }
    </script>
    [/js]

    Now if you run your page in Google Chrome and fire the function, you will be given an output as preceding.

    Chnage_Element_To_Full_Screen_In_Google_Chrome_Error

    Chnage_Element_To_Full_Screen_In_Google_Chrome_Error

    As you can see that the window is opened in full screen, but not the element. To fix this, you must add a custom CSS style as follows. This is a hot fix which is applicable only to Google Chrome.

    [css]
    #container:-webkit-full-screen {
    width: 100%;
    height: 100%;
    }
    [/css]

    Now run your page again, and make sure the fix is applied.

    Chnage_Element_To_Full_Screen_In_Google_Chrome

    Chnage_Element_To_Full_Screen_In_Google_Chrome

    Now if you want to escape from full screen whenever user press any keys, you can do that too. You can add a new function as follows.

    [js]
    function changeToFullScreenOnKeyPress() {
    if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) {
    if (document.documentElement.requestFullscreen) {
    document.documentElement.requestFullscreen();
    } else if (document.documentElement.msRequestFullscreen) {
    document.documentElement.msRequestFullscreen();
    } else if (document.documentElement.mozRequestFullScreen) {
    document.documentElement.mozRequestFullScreen();
    } else if (document.documentElement.webkitRequestFullscreen) {
    document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
    }
    } else {
    if (document.exitFullscreen) {
    document.exitFullscreen();
    } else if (document.msExitFullscreen) {
    document.msExitFullscreen();
    } else if (document.mozCancelFullScreen) {
    document.mozCancelFullScreen();
    } else if (document.webkitExitFullscreen) {
    document.webkitExitFullscreen();
    }
    }
    }
    [/js]

    And you can call this function in keydown event as preceding.

    [js]
    document.addEventListener("keydown", function (e) {
    changeToFullScreenOnKeyPress();
    }, false);
    [/js]

    Run your page again and notice that the full screen is getting escaped whenever you press any keys.

    Complete Code

    [html]
    <!DOCTYPE html>
    <html>
    <head>
    <title>Programmatically Change The Element Or Page Into Full Screen Mode</title>
    <meta charset="utf-8" />
    <script>
    function changeToFullScreen() {
    var itm = document.getElementById("container");
    if (itm.requestFullscreen) {
    itm.requestFullscreen();
    } else if (itm.msRequestFullscreen) {
    itm.msRequestFullscreen();
    } else if (itm.mozRequestFullScreen) {
    itm.mozRequestFullScreen();
    } else if (itm.webkitRequestFullscreen) {
    itm.webkitRequestFullscreen();
    }
    }
    function changeToFullScreenOnKeyPress() {
    if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) {
    if (document.documentElement.requestFullscreen) {
    document.documentElement.requestFullscreen();
    } else if (document.documentElement.msRequestFullscreen) {
    document.documentElement.msRequestFullscreen();
    } else if (document.documentElement.mozRequestFullScreen) {
    document.documentElement.mozRequestFullScreen();
    } else if (document.documentElement.webkitRequestFullscreen) {
    document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
    }
    } else {
    if (document.exitFullscreen) {
    document.exitFullscreen();
    } else if (document.msExitFullscreen) {
    document.msExitFullscreen();
    } else if (document.mozCancelFullScreen) {
    document.mozCancelFullScreen();
    } else if (document.webkitExitFullscreen) {
    document.webkitExitFullscreen();
    }
    }
    }
    document.addEventListener("keydown", function (e) {
    changeToFullScreenOnKeyPress();
    }, false);
    </script>
    <style>
    #container:-webkit-full-screen {
    width: 100%;
    height: 100%;
    }
    #container
    {
    width:72px;
    height:148px;
    background-image:url(‘sibeeshpassionLogoSmall.png’);
    }
    </style>
    </head>
    <body>
    <div id="container" align="center"></div>
    <img src="full_screen.png" onclick="changeToFullScreen()" title="Click to change to full screen"/>
    </body>
    </html>
    [/html]

    Here msRequestFullscreen, mozRequestFullScreen, webkitRequestFullscreen is for Internet Explorer, Mozilla Firefox, Google Chrome respectively.

    We have done everything needed, Now it is time to see the output.

    Output

    Chnage_Element_To_Full_Screen_Click

    Chnage_Element_To_Full_Screen_Click

    Chnage_Element_To_Full_Screen_Output

    Chnage_Element_To_Full_Screen_Output

    Have a happy coding.

    References

  • Fullscreen_API
  • Conclusion

    Did I miss anything that you may think which is needed? Have you ever wanted to do this requirement? Could you find this post as useful? I hope you liked this article. Please share me your valuable suggestions and feedback.

    Your turn. What do you think?

    A blog isn’t a blog without comments, but do try to stay on topic. If you have a question unrelated to this post, you’re better off posting it on C# Corner, Code Project, Stack Overflow, Asp.Net Forum instead of commenting here. Tweet or email me a link to your question there and I’ll definitely try to help if I can.

    Kindest Regards
    Sibeesh Venu

    TagsClient Side APIHTML5JavascriptPage Into Full Screen ModerequestFullscreen
    Previous Article

    Change The Page Title Dynamically Using Angular ...

    Next Article

    Asp Net Article Of The Day Mar ...

    0
    Shares
    • 0
    • +
    • 0
    • 0
    • 0

    SibeeshVenu

    I am Sibeesh Venu, an engineer by profession and writer by passion. Microsoft MVP, Author, Speaker, Content Creator, Youtuber, Programmer.

    Related articles More from author

    • empty_project
      JavaScriptUnit Testing

      Writing JavaScript Tests Using Jasmine Framework

      October 10, 2016
      By SibeeshVenu
    • Javascript_tutorial_output_1
      CodeProjectHow toJavaScript

      Do you know JavaScript? Are you sure? – Part 1

      February 28, 2017
      By SibeeshVenu
    • HTML5

      HTML 5 Elements in a Look: Part II

      January 29, 2015
      By SibeeshVenu
    • HTML5

      Basic Difference Between Local Storage and Session Storage in HTML 5

      March 29, 2015
      By SibeeshVenu
    • CodeProjectHTML5

      Working With Client Side Local Storage

      August 3, 2015
      By SibeeshVenu
    • Thunderbird_output
      How toJavaScript

      Do you know JavaScript? Are you sure? – Part Two

      March 5, 2017
      By SibeeshVenu
    0

    My book

    Asp Net Core and Azure with Raspberry Pi Sibeesh Venu

    YouTube

    MICROSOFT MVP (2016-2022)

    profile for Sibeesh Venu - Microsoft MVP

    Recent Posts

    • Linux Azure Function Isolated Dot Net 9 YAML Template Deployment
    • Build, Deploy, Configure CI &CD Your Static Website in 5 mins
    • Easily move data from one COSMOS DB to another
    • .NET 8 New and Efficient Way to Check IP is in Given IP Range
    • Async Client IP safelist for Dot NET
    • Post Messages to Microsoft Teams Using Python
    • Get Azure Blob Storage Blob Metadata Using PowerShell
    • Deploy .net 6 App to Azure from Azure DevOps using Pipelines
    • Integrate Azure App Insights in 1 Minute to .Net6 Application
    • Azure DevOps Service Connection with Multiple Azure Resource Group

    Tags

    Achievements (35) Angular (14) Angular 5 (7) Angular JS (15) article (10) Article Of The Day (13) Asp.Net (14) Azure (65) Azure DevOps (10) Azure Function (10) Azure IoT (7) C# (17) c-sharp corner (13) Career Advice (11) chart (11) CSharp (7) CSS (7) CSS3 (6) HighChart (10) How To (9) HTML5 (10) HTML5 Chart (11) Interview (6) IoT (11) Javascript (10) JQuery (82) jquery functions (9) JQWidgets (15) JQX Grid (17) Json (7) Microsoft (8) MVC (20) MVP (9) MXChip (7) News (18) Office 365 (7) Products (10) SQL (20) SQL Server (15) Visual Studio (10) Visual Studio 2017 (7) VS2017 (7) Web API (12) Windows 10 (7) Wordpress (9)
    • .NET
    • Achievements
    • ADO.NET
    • Android
    • Angular
    • Arduino
    • Article Of The Day
    • ASP.NET
    • Asp.Net Core
    • Automobile
    • Awards
    • Azure
    • Azure CDN
    • azure devops
    • Blockchain
    • Blog
    • Browser
    • C-Sharp Corner
    • C#
    • Career Advice
    • Code Snippets
    • CodeProject
    • Cognitive Services
    • Cosmos DB
    • CSS
    • CSS3
    • Data Factory
    • Database
    • Docker
    • Drawings
    • Drill Down Chart
    • English
    • Excel Programming
    • Exporting
    • Facebook
    • Fun
    • Gadgets
    • GitHub
    • GoPro
    • High Map
    • HighChart
    • How to
    • HTML
    • HTML5
    • Ignite UI
    • IIS
    • Interview
    • IoT
    • JavaScript
    • JQuery
    • jQuery UI
    • JQWidgets
    • JQX Grid
    • Json
    • Knockout JS
    • Linux
    • Machine Learning
    • Malayalam
    • Malayalam Poems
    • MDX Query
    • Microsoft
    • Microsoft ADOMD
    • Microsoft MVP
    • Microsoft Office
    • Microsoft Technologies
    • Microsoft Windows
    • Microsoft Windows Server
    • Mobile
    • MongoDB
    • Monthly Winners
    • MVC
    • MVC Grid
    • MySQL
    • News
    • Node JS
    • npm
    • Number Conversions
    • October 2015
    • Office 365
    • Office Development
    • One Plus
    • Outlook
    • Page
    • PHP
    • Poems
    • PowerShell
    • Products
    • Q&A
    • Raspberry PI
    • React
    • SEO
    • SharePoint
    • Skype
    • Social Media
    • Software
    • Spire.Doc
    • Spire.PDF
    • Spire.XLS
    • SQL
    • SQL Server
    • SSAS
    • SSMS
    • Storage In HTML5
    • Stories
    • Third Party Software Apps
    • Tips
    • Tools
    • Translator Text
    • Uncategorized
    • Unit Testing
    • UWP
    • VB.Net
    • Videos
    • Virtual Machine
    • Visual Studio
    • Visual Studio 2017
    • Wamp Server
    • Web API
    • Web Platform Installer
    • Webinars
    • WebMatrix
    • Windows 10
    • Windows 7
    • Windows 8.1
    • Wordpress
    • Writing

    ABOUT ME

    I am Sibeesh Venu, an engineer by profession and writer by passion. Microsoft MVP, Author, Speaker, Content Creator, Youtuber, Programmer. If you would like to know more about me, you can read my story here.

    Contact Me

    • info@sibeeshpassion.com

    Pages

    • About
    • Search
    • Privacy Policy
    • About
    • Search
    • Privacy Policy
    © Copyright Sibeesh Passion 2014-2025. All Rights Reserved.
    Go to mobile version