diff --git a/resources/js/player/player_div.js b/resources/js/player/player_div.js
--- a/resources/js/player/player_div.js
+++ b/resources/js/player/player_div.js
#
+function toggleembed(){
#
+ var d = document.getElementById('embedsect');
#
+ if (d.style.display == 'none'){
#
+ d.style.display = 'block';
#
+ d.style.display = 'none';
#
+// From https://stackoverflow.com/a/1173319
#
+function selectText(containerid) {
#
+ if (document.selection) { // IE
#
+ var range = document.body.createTextRange();
#
+ range.moveToElementText(document.getElementById(containerid));
#
+ } else if (window.getSelection) {
#
+ var range = document.createRange();
#
+ range.selectNode(document.getElementById(containerid));
#
+ window.getSelection().removeAllRanges();
#
+ window.getSelection().addRange(range);
#
+// https://snippets.bentasker.co.uk/page-1708042214-Place-AJAX-GET-request-and-trigger-callback-function-with-result-Javascript.html
#
+function fetchPage(url,callback,errcallback){
#
+ if (window.XMLHttpRequest){
#
+ // code for IE7+, Firefox, Chrome, Opera, Safari
#
+ xmlhttp=new XMLHttpRequest();
#
+ // code for IE6, IE5 (why am I still supporting these? Die... Die.... Die....
#
+ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
#
+ xmlhttp.onreadystatechange=function(){
#
+ if (xmlhttp.readyState==4){
#
+ if(xmlhttp.status==200){
#
+ callback(xmlhttp.responseText)
#
+ errcallback(xmlhttp.responseText)
#
+ xmlhttp.open("GET",url,true);
#
+function writeDetails(response){
#
+ var j = JSON.parse(response);
#
+ var t = document.createTextNode(j['title']);
#
+ var h = document.getElementById('title');
#
+ var d = document.createTextNode(j['description']);
#
+ document.getElementById('description').appendChild(d);
#
+// https://snippets.bentasker.co.uk/page-2112301800-Run-javascript-on-document-ready-Javascript.html
#
+function doDocumentReady(fn){
#
+ /* $(document).ready() without javascript
#
+ if (document.readyState === "complete" ||
#
+ (document.readyState !== "loading" && !document.documentElement.doScroll)
#
+ document.addEventListener("DOMContentLoaded", fn);
#
+function pageReadyCall(){
#
+ const urlParams = new URLSearchParams(window.location.search);
#
+ vidurl = urlParams.get('url');
#
+ dirname = vidurl.match(/.*\//);
#
+ document.getElementById("embeddiv").setAttribute("data-src", vidurl);
#
+ doDocumentReady(embedBensPlayerDivs);
#
+ // Trigger a XMLHTTP request to see if the video has an info manifest
#
+ fetchPage('/'+dirname+'details.json',writeDetails,function(e){});
#
+ d = document.getElementById('embedsecturl');
#
+ // It's basically userinput, so escape it
#
+ t = document.createTextNode(vidurl);
#
+ h = document.getElementById('title');
#
+ if (h.innerHTML == ''){
#
+ var t2 = t.cloneNode(true);
#
+// Get the video path from the request URL
#
+const urlParams = new URLSearchParams(window.location.search);
#
+vidurl = urlParams.get('url');
#
+// Don't bother trying to load the player if no URL was given
#
+ doDocumentReady(pageReadyCall);