Skip to content

Commit

Permalink
Update InpageProviderWebView.native.tsx
Browse files Browse the repository at this point in the history
  • Loading branch information
huhuanming committed Feb 12, 2025
1 parent b4eb205 commit 3c5c944
Showing 1 changed file with 24 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,16 @@ const desktopUserAgent = platformEnv.isNativeIOS
? 'Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15'
: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36';

const injectedJavaScript = `
document.addEventListener('DOMContentLoaded', () => {
setTimeout(() => {
const meta = document.createElement('meta');
meta.setAttribute('content', 'width=device-width, initial-scale=0.5, maximum-scale=2, user-scalable=2');
meta.setAttribute('name', 'viewport');
document.getElementsByTagName('head')[0].appendChild(meta);
}, 1500)
});`;

const InpageProviderWebView: FC<IInpageProviderWebViewProps> = forwardRef(
(
{
Expand Down Expand Up @@ -125,17 +135,29 @@ const InpageProviderWebView: FC<IInpageProviderWebViewProps> = forwardRef(
}
return null;
}, [isSpinnerLoading, progress, displayProgressBar]);

const isDesktopMode = useMemo(() => {
// Enable desktop mode by default on iPad
if (platformEnv.isNativeIOSPad && siteMode === undefined) {
return true;
}
return siteMode === ESiteMode.desktop;
}, [siteMode]);
return (
<Stack flex={1}>
{progressLoading}
<NativeWebView
scalesPageToFit={false}
webviewDebuggingEnabled={webviewDebuggingEnabled}
ref={setWebViewRef}
src={src}
onSrcChange={onSrcChange}
receiveHandler={receiveHandler}
injectedJavaScriptBeforeContentLoaded={nativeInjectedJsCode}
injectedJavaScript={
platformEnv.isNative && !platformEnv.isNativeIOSPad && isDesktopMode
? injectedJavaScript
: undefined
}
onLoadProgress={({ nativeEvent }) => {
const p = Math.ceil(nativeEvent.progress * 100);
onProgress?.(p);
Expand All @@ -158,9 +180,7 @@ const InpageProviderWebView: FC<IInpageProviderWebViewProps> = forwardRef(

// *** Note that static HTML will require setting originWhitelist to ["*"].
originWhitelist={['*']}
userAgent={
siteMode === ESiteMode.desktop ? desktopUserAgent : undefined
}
userAgent={isDesktopMode ? desktopUserAgent : undefined}
{...nativeWebviewProps}
/>
</Stack>
Expand Down

0 comments on commit 3c5c944

Please sign in to comment.