diff --git a/examples/web/react/app.tsx b/examples/web/react/app.tsx
index 4f02e1603c080b229e760b035fa54e47666b7b93..21113e59f91185e8e6ae13f9ef5899ab1b8f454e 100644
--- a/examples/web/react/app.tsx
+++ b/examples/web/react/app.tsx
@@ -352,7 +352,10 @@ export const App: FC<AppProps> = ({
     }, [keyaction]);
     useEffect(() => {
         const onFullChange = (event: Event) => {
-            if (!document.fullscreenElement) {
+            if (
+                !document.fullscreenElement &&
+                !(document as any).webkitFullscreenElement
+            ) {
                 setFullscreenState(false);
             }
         };
@@ -391,11 +394,16 @@ export const App: FC<AppProps> = ({
             showToast(params.text, params.error, params.timeout);
         };
         document.addEventListener("fullscreenchange", onFullChange);
+        document.addEventListener("webkitfullscreenchange", onFullChange);
         document.addEventListener("keydown", onKeyDown);
         emulator.bind("booted", onBooted);
         emulator.bind("message", onMessage);
         return () => {
             document.removeEventListener("fullscreenchange", onFullChange);
+            document.removeEventListener(
+                "webkitfullscreenchange",
+                onFullChange
+            );
             document.removeEventListener("keydown", onKeyDown);
             emulator.unbind("booted", onBooted);
             emulator.unbind("message", onMessage);