minshell.html (4280B)
1 <!doctype html> 2 <html lang="EN-us"> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 6 7 <title>raylib web game</title> 8 9 <meta name="title" content="raylib web game"> 10 <meta name="description" content="New raylib web videogame, developed using raylib videogames library"> 11 <meta name="keywords" content="raylib, programming, examples, html5, C, C++, library, learn, games, videogames"> 12 <meta name="viewport" content="width=device-width"> 13 14 <!-- Open Graph metatags for sharing --> 15 <meta property="og:type" content="website" /> 16 <meta property="og:title" content="raylib web game"> 17 <meta property="og:image:type" content="image/png"> 18 <meta property="og:image" content="https://www.raylib.com/common/raylib_logo.png"> 19 <meta property="og:image:alt" content="New raylib web videogame, developed using raylib videogames library" /> 20 <meta property="og:site_name" content="raylib - example"> 21 <meta property="og:url" content="https://www.raylib.com/games.html"> 22 <meta property="og:description" content="New raylib web videogame, developed using raylib videogames library"> 23 24 <!-- Twitter metatags for sharing --> 25 <meta name="twitter:card" content="summary_large_image"> 26 <meta name="twitter:site" content="@raysan5"> 27 <meta name="twitter:title" content="raylib web game"> 28 <meta name="twitter:image" content="https://www.raylib.com/common/raylib_logo.png"> 29 <meta name="twitter:image:alt" content="New raylib web videogame, developed using raylib videogames library"> 30 <meta name="twitter:url" content="https://www.raylib.com/games.html"> 31 <meta name="twitter:description" content="New raylib web videogame, developed using raylib videogames library"> 32 33 <!-- Favicon --> 34 <link rel="shortcut icon" href="https://www.raylib.com/favicon.ico"> 35 36 <style> 37 body { 38 margin: 0px; 39 overflow: hidden; 40 background-color: black; 41 } 42 canvas.emscripten { border: 0px none; background-color: black;} 43 </style> 44 <script type='text/javascript' src="https://cdn.jsdelivr.net/gh/eligrey/FileSaver.js/dist/FileSaver.min.js"> </script> 45 <script type='text/javascript'> 46 function saveFileFromMEMFSToDisk(memoryFSname, localFSname) // This can be called by C/C++ code 47 { 48 var isSafari = false; // Not supported, navigator.userAgent access is being restricted 49 //var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); 50 var data = FS.readFile(memoryFSname); 51 var blob; 52 53 if (isSafari) blob = new Blob([data.buffer], { type: "application/octet-stream" }); 54 else blob = new Blob([data.buffer], { type: "application/octet-binary" }); 55 56 // NOTE: SaveAsDialog is a browser setting. For example, in Google Chrome, 57 // in Settings/Advanced/Downloads section you have a setting: 58 // 'Ask where to save each file before downloading' - which you can set true/false. 59 // If you enable this setting it would always ask you and bring the SaveAsDialog 60 saveAs(blob, localFSname); 61 } 62 </script> 63 </head> 64 <body> 65 <canvas class=emscripten id=canvas oncontextmenu=event.preventDefault() tabindex=-1></canvas> 66 <p id="output" /> 67 <script> 68 var Module = { 69 print: (function() { 70 var element = document.getElementById('output'); 71 if (element) element.value = ''; // clear browser cache 72 return function(text) { 73 if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' '); 74 console.log(text); 75 if (element) { 76 element.value += text + "\n"; 77 element.scrollTop = element.scrollHeight; // focus on bottom 78 } 79 }; 80 })(), 81 canvas: (function() { 82 var canvas = document.getElementById('canvas'); 83 return canvas; 84 })() 85 }; 86 </script> 87 {{{ SCRIPT }}} 88 </body> 89 </html>