index.html 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Editor in tiny iframe</title>
  5. <style>
  6. #myIframe1 {
  7. border: 1px solid blue;
  8. width: 0;
  9. height: 0;
  10. }
  11. #myIframe2 {
  12. border: 1px solid red;
  13. display: none;
  14. }
  15. #myIframe3 {
  16. border: 1px solid green;
  17. visibility: hidden;
  18. }
  19. #programmaticIframe {
  20. border: 1px solid yellow;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <h2>Monaco Editor inside iframes sample</h2>
  26. <br />
  27. <br />
  28. 0x0:
  29. <br />
  30. <iframe id="myIframe1" src="inner.html"></iframe>
  31. display:none:
  32. <br />
  33. <iframe id="myIframe2" src="inner.html"></iframe>
  34. visibility:hidden:
  35. <br />
  36. <iframe id="myIframe3" src="inner.html"></iframe>
  37. taken off-dom while loading:
  38. <br />
  39. <script>
  40. var myIframe1 = document.getElementById('myIframe1');
  41. var myIframe2 = document.getElementById('myIframe2');
  42. var myIframe3 = document.getElementById('myIframe3');
  43. var programmaticIframe = document.createElement('iframe');
  44. programmaticIframe.id = 'programmaticIframe';
  45. programmaticIframe.src = 'inner.html';
  46. // trigger its loading & take it off dom
  47. document.body.appendChild(programmaticIframe);
  48. setTimeout(function () {
  49. document.body.removeChild(programmaticIframe);
  50. }, 10);
  51. setTimeout(function () {
  52. document.body.appendChild(programmaticIframe);
  53. [myIframe1, myIframe2, myIframe3, programmaticIframe].forEach(reveal);
  54. }, 3000);
  55. function reveal(iframe) {
  56. iframe.style.width = '400px';
  57. iframe.style.height = '100px';
  58. iframe.style.display = 'block';
  59. iframe.style.visibility = 'visible';
  60. }
  61. </script>
  62. </body>
  63. </html>