nofl commited on
Commit
7eb7701
·
verified ·
1 Parent(s): 325675e

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +117 -46
index.html CHANGED
@@ -1,52 +1,123 @@
1
- import React from 'react';
2
- import { Heart } from "lucide-react";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
 
4
- export default function FullScreenIframe() {
5
- return (
6
- <div className="flex flex-col min-h-screen">
7
- <header className="px-4 lg:px-6 h-14 flex items-center">
8
- <a className="flex items-center justify-center" href="#">
9
- <Heart className="h-6 w-6 text-primary" />
10
- <span className="sr-only">FullScreen Iframe</span>
11
- </a>
12
- </header>
13
- <main className="flex-1">
14
- <section className="w-full py-12 md:py-24 lg:py-32 xl:py-48">
15
- <div className="container px-4 md:px-6">
16
- <div className="flex flex-col items-center space-y-4 text-center">
17
- <div className="space-y-2">
18
- <h1 className="text-3xl font-bold tracking-tighter sm:text-4xl md:text-5xl lg:text-6xl/none">
19
- Full Screen Iframe
20
- </h1>
21
- <p className="mx-auto max-w-[700px] text-gray-500 md:text-xl dark:text-gray-400">
22
- This is a full screen iframe.
23
- </p>
24
- </div>
25
- </div>
26
- </div>
27
- </section>
28
- <section className="w-full py-12 md:py-24 lg:py-32">
29
- <div className="container px-4 md:px-6">
30
- <iframe src="https://aidark.net/" frameBorder="0" scrolling="no" className="w-full h-screen"></iframe>
31
- </div>
32
- </section>
33
- </main>
34
- <footer className="flex flex-col gap-2 sm:flex-row py-6 w-full shrink-0 items-center px-4 md:px-6 border-t">
35
- <p className="text-xs text-gray-500 dark:text-gray-400"> 2023 Full Screen Iframe. All rights reserved.</p>
36
- <nav className="sm:ml-auto flex gap-4 sm:gap-6">
37
- <a className="text-xs hover:underline underline-offset-4" href="#">
38
- Terms of Service
39
- </a>
40
- <a className="text-xs hover:underline underline-offset-4" href="#">
41
- Privacy
42
- </a>
43
- </nav>
44
- </footer>
45
  </div>
46
- );
47
- }
48
 
49
- <!-- <!DOCTYPE html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
  <html lang="en">
51
  <head>
52
  <meta charset="UTF-8">
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
7
+ <meta name="description" content="Full screen iframe implementation">
8
+ <title>Full Screen Iframe</title>
9
+ <style>
10
+ /* CSS Reset for cross-browser consistency */
11
+ *,
12
+ *::before,
13
+ *::after {
14
+ box-sizing: border-box;
15
+ margin: 0;
16
+ padding: 0;
17
+ }
18
+
19
+ /* Base styles */
20
+ html, body {
21
+ height: 100vh;
22
+ width: 100vw;
23
+ overflow: hidden;
24
+ position: relative;
25
+ }
26
+
27
+ /* Container for iframe with fallback message */
28
+ .iframe-container {
29
+ position: fixed;
30
+ top: 0;
31
+ left: 0;
32
+ width: 100%;
33
+ height: 100%;
34
+ background-color: #f5f5f5;
35
+ }
36
+
37
+ /* Iframe styles with improved performance */
38
+ .responsive-iframe {
39
+ position: absolute;
40
+ top: 0;
41
+ left: 0;
42
+ width: 100%;
43
+ height: 100%;
44
+ border: none;
45
+ overflow: hidden;
46
+ /* Enable hardware acceleration */
47
+ transform: translateZ(0);
48
+ -webkit-transform: translateZ(0);
49
+ /* Improve scrolling performance */
50
+ -webkit-overflow-scrolling: touch;
51
+ }
52
 
53
+ /* Fallback message styling */
54
+ .fallback-message {
55
+ display: none;
56
+ position: absolute;
57
+ top: 50%;
58
+ left: 50%;
59
+ transform: translate(-50%, -50%);
60
+ text-align: center;
61
+ padding: 20px;
62
+ font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
63
+ }
64
+
65
+ /* Show fallback when iframe fails */
66
+ .iframe-error .fallback-message {
67
+ display: block;
68
+ }
69
+
70
+ .iframe-error .responsive-iframe {
71
+ display: none;
72
+ }
73
+ </style>
74
+ </head>
75
+ <body>
76
+ <div class="iframe-container">
77
+ <iframe
78
+ src="https://aidark.net/"
79
+ class="responsive-iframe"
80
+ title="Full screen content"
81
+ sandbox="allow-scripts allow-same-origin allow-forms"
82
+ loading="lazy"
83
+ referrerpolicy="no-referrer"
84
+ onload="this.parentElement.classList.remove('iframe-error')"
85
+ onerror="this.parentElement.classList.add('iframe-error')"
86
+ ></iframe>
87
+ <div class="fallback-message">
88
+ <h2>Unable to load content</h2>
89
+ <p>Please check your internet connection and try again.</p>
90
+ </div>
 
 
 
91
  </div>
 
 
92
 
93
+ <script>
94
+ // Handle iframe loading errors
95
+ window.addEventListener('load', function() {
96
+ const iframe = document.querySelector('.responsive-iframe');
97
+ const container = document.querySelector('.iframe-container');
98
+
99
+ // Additional error handling
100
+ iframe.addEventListener('error', function() {
101
+ container.classList.add('iframe-error');
102
+ });
103
+
104
+ // Handle resize events efficiently
105
+ let resizeTimeout;
106
+ window.addEventListener('resize', function() {
107
+ clearTimeout(resizeTimeout);
108
+ resizeTimeout = setTimeout(function() {
109
+ // Trigger reflow only when resize ends
110
+ iframe.style.height = window.innerHeight + 'px';
111
+ iframe.style.width = window.innerWidth + 'px';
112
+ }, 250);
113
+ });
114
+ });
115
+ </script>
116
+ </body>
117
+ </html>
118
+ <!--
119
+
120
+ <!DOCTYPE html>
121
  <html lang="en">
122
  <head>
123
  <meta charset="UTF-8">