We’re using Capacitor (iOS) as a webview shell that loads an external website via server.url in capacitor.config.ts. The app has no native plugins — it’s purely a shell pointing at our live site.
Symptom: White blank screen on iOS. The page never renders. The same URL loads perfectly in Safari.
What we’ve tried: Overriding the User Agent to impersonate mobile Safari (overrideUserAgent in the iOS config). This did not fix the problem.
Suspected cause: The site we’re loading (hosted on Wix) appears to use JavaScript that detects window.webkit.messageHandlers — a property Capacitor’s bridge injects into the WebView that does not exist in real Safari. Even with a spoofed User Agent, the site detects the WebView context via this property and refuses to render.
Question: Is there a supported way to suppress or disable the Capacitor bridge injection on iOS so that window.webkit.messageHandlers is not present in the WebView? Since we use no native plugins, we don’t need the bridge at all — we just need a clean webview that the host site cannot distinguish from Safari.se describe the question in detail and share your code, configuration, and other relevant info.
Alternatively, suggestions on how to get the site to render and work correctly?