Tips for enabling fullscreen mode in a YouTube embedded video with just a button click

Imagine you have an iframe embedded on a webpage, allowing users to watch a YouTube video:

<iframe width="640" height="390" src="https://www.youtube.com/embed/--id--"
     frameborder="0" allowfullscreen></iframe>

Now, is there a way to include a link or button below the video that enables full-screen playback when clicked?

<p>Click <a href="???">here</a> to play in full screen mode.</p>

By the way, I do not utilize JQuery or any other external libraries.

Answer №1

Referencing this particular answer:

var iframe = document.getElementById("iframe");


document.getElementById("fullScreen").addEventListener("click", function(){

iframe.setAttribute("style", "position:fixed; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");



});
<iframe id="iframe"  width="560" height="315" src="https://www.youtube.com/embed/oR_e9y-bka0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

<p id="fullScreen">Click here to play it full screen.</p>

An illustration is provided at https://jsfiddle.net/2vgsb64a/ due to SO's restriction on embedding YouTube videos.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Change a camelCase string to ALL_CAPS while adding underscores in JavaScript

Currently, I'm dealing with a situation where I have a list of variables stored in a file that I need to convert into all capital letters and separate them with underscores using JavaScript. The variable pattern looks something like this: AwsKey Aw ...

Padding among the series items within the plot of the Apex Charts donut chart

I am trying to replicate a donut chart in apex charts that is similar to the one displayed on the right. While I have made significant progress, I am still in need of adding stroke or padding around the series items on the donut chart plot, as shown in the ...

Guide to recreating the Material Ripple effect using Vuejs

I am in the process of recreating the ripple effect inspired by Material Design for my current project. I have decided to move away from Quasar and build all the elements from scratch. Here is the effect: https://i.sstatic.net/VKJIc.gif I have seen some ...

Error occurs in React Native when trying to import routes due to type mismatch

My react native app is running on my physical device, but I encountered an error when importing routesContainer in my app.js. Can anyone shed some light on why this error is occurring? TypeError: Super expression must either be null or a function [Mon Oct ...

Assign the JSON response to a variable and then display it

I am currently working on a form that sends a combination of Zip code and house number to an external page. The external page then responds with a JSON containing address information. Although the process is functional, I am struggling to figure out how t ...

The Bootstrap navigation row smoothly adjusts its size, yet only partially highlights active or highlighted links

When viewing on a smaller screen, one of the links in this navigation (nav-pills, nav-justified) spans two lines, causing the other links to appear larger as well. While this may seem beneficial, active or highlighted links only partially fill the box, res ...

When attempting to utilize the Vuex store in a child component, it appears to be ineffectual

I'm experiencing an issue with the vuex-Store. There is a state in my store that is not being updated when the Action is called. Can anyone help me out here? The problem lies with the "selectedHive" state. The axios call is functioning properly and ge ...

The data type of Subscription: prototype, NOT ASSIGNED

I am encountering the following error when attempting to return a subscription object. Error Message:-------- Type 'Subscription' does not have the prototype and EMPTY properties that are expected from type 'typeof Subscription' Here ...

Using an array of objects to set a background image in a Bootstrap carousel using jQuery: a step-by-step guide

I have an array of items, each containing a background property with a URL to an image. Here is my array: https://i.sstatic.net/jfrV0.png Here is the HTML structure: <div id="myCarousel" class="carousel slide" data-ride="carousel"> <ol ...

Obtaining values from a table using jQuery

The code snippet below is used to create a table: <table class="table table-bordered table-striped" id="assignedvs"> <thead> <tr> <th>VlId</th> <th>Name</th> ...

Chrome not displaying Bootstrap dropdowns correctly

Lately, I've been exploring Bootstrap and experimenting with its dropdown menus. Typically, I use Chrome for my work but encountered a strange issue with how Chrome is handling my dropdown menus. This forced me to temporarily switch to Edge. Here&apos ...

"Encountering an issue with adjusting axios default headers on a global scale in

In main.js import axios from 'axios'; axios.defaults.headers.common = { 'Authorization': 'JWT ' + Vue.auth.getToken() }; axios.defaults.baseURL = process.env.VUE_APP_BASE_URL; //TODO: ensure the trailing slash is append ...

Best return type for a webservice triggered using jQuery but not requiring any data to be returned

I am currently working on a web service that utilizes several methods. These methods do not have significant impact on the client side as I call them using jQuery/ajax. My main concern is regarding the recommended return type. Typically, I would return JS ...

Encountering a CORS issue while trying to make requests to the Facebook Graph

I utilized the facebook live comments API to fetch real-time video comments. I was able to accomplish this successfully in my local environment. However, when I deployed the project with a domain name, I encountered a CORS error. Any suggestions on how to ...

Trouble initiating Nodejs project on Heroku platform

Attempting to deploy a nodejs application on heroku.com has been a challenge. Although the code was successfully pushed to heroku master, accessing the application resulted in an error message. https://i.sstatic.net/r5yQE.jpg Upon checking the logs, the ...

Obtaining the ID from a URL in node.js

As a newcomer to the world of Javascript and node.js, I am venturing into creating a REST API with URLs structured as follows: /user/{userId}/docs The goal is to extract the value of {userId}, which, for instance, in the URL /user/5/docs would be 5. Wh ...

There was an issue with the origin null not being permitted by Access-Control-Allow-Origin

Possible Duplicate: XmlHttpRequest error: Origin null is not allowed by Access-Control-Allow-Origin I am currently working on a weather application that runs smoothly in browsers. However, when I try to deploy it on my Android phone, it encounters iss ...

Having trouble loading the DOM element within the child component

An issue has arisen with Angular 4.4.6 regarding the access of a DOM element by ID from a different component. Within my component, I aim to display a Google Maps for specific purposes. Following the examples given in the API, I include the following code ...

Restricting character count when displaying output in JavaScript

Is there a way to restrict the number of characters displayed on a label using a JavaScript file? I am encountering an issue with a specific part of the code that is triggered by a button click and is responsible for printing the contents from a preview bo ...

Submenu alignment issue in RTL mode

I am currently utilizing bootstrap 4.4.1 for my template and I am attempting to implement a right-to-left (RTL) Nav bar for an Arabic website, ensuring the menu displays from right to left. In my code, the fifth item from the right has a submenu which is ...