From d7ae10566ef42f32571f2e691be6bb90f75d6521 Mon Sep 17 00:00:00 2001 From: Thang Mai Date: Tue, 20 Mar 2018 13:51:49 +0700 Subject: [PATCH] fix(webview/ios): initial meta viewport is overrided --- tns-core-modules/ui/web-view/web-view.ios.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tns-core-modules/ui/web-view/web-view.ios.ts b/tns-core-modules/ui/web-view/web-view.ios.ts index f536407a60..aebc0ec157 100644 --- a/tns-core-modules/ui/web-view/web-view.ios.ts +++ b/tns-core-modules/ui/web-view/web-view.ios.ts @@ -92,7 +92,8 @@ export class WebView extends WebViewBase { const configuration = WKWebViewConfiguration.new(); this._delegate = WKNavigationDelegateImpl.initWithOwner(new WeakRef(this)); const jScript = "var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'initial-scale=1.0'); document.getElementsByTagName('head')[0].appendChild(meta);"; - const wkUScript = WKUserScript.alloc().initWithSourceInjectionTimeForMainFrameOnly(jScript,WKUserScriptInjectionTime.AtDocumentEnd,true); + const jScriptWithMetaCheck = `if (!document.querySelector('meta[name="viewport"]')) { ${jScript} }`; + const wkUScript = WKUserScript.alloc().initWithSourceInjectionTimeForMainFrameOnly(jScriptWithMetaCheck,WKUserScriptInjectionTime.AtDocumentEnd,true); const wkUController = WKUserContentController.new(); wkUController.addUserScript(wkUScript); configuration.userContentController = wkUController; @@ -156,4 +157,4 @@ export class WebView extends WebViewBase { public reload() { this._ios.reload(); } -} \ No newline at end of file +}