【发布时间】:2020-12-24 17:33:52
【问题描述】:
我使用WebView打开一个站点,站点使用的是响应式设计。
在 Android 上,网站填满页面并正常工作Android Image
我在 IOS 中出现的问题是在桌面而不是移动模式下打开时出现IOS Image
我是 Flutter 的新手,但我在 Xamarin 中解决了这个问题 This the same Problem in xamarin
这是用于在flutter中通过dart语言打开Web View的代码
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(_title),
backgroundColor: dark_blue,
),
body: WebView(
initialUrl: _selectedUrl,
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
},
navigationDelegate: (NavigationRequest request) {
if (request.url.contains('https://helper')) {
CompletePaymentFun();
return NavigationDecision.prevent;
}
return NavigationDecision.navigate;
},
));}
这是我在 c# 中的解决方案我在 ios 中制作了一个自定义 Webview,但我不知道如何使用 dart 语言在颤振中解决它。
class CustomWebViewRenderer : WkWebViewRenderer
{
const string JavaScriptFunction = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width'); document.getElementsByTagName('head')[0].appendChild(meta);";
WKUserContentController userController;
public CustomWebViewRenderer() : this(new WKWebViewConfiguration())
{
}
public CustomWebViewRenderer(WKWebViewConfiguration config) : base(config)
{
userController = config.UserContentController;
var script = new WKUserScript(new NSString(JavaScriptFunction), WKUserScriptInjectionTime.AtDocumentEnd, false);
userController.AddUserScript(script);
config.UserContentController = userController;
WKWebView webView = new WKWebView(Frame, config);
}
}
【问题讨论】:
标签: flutter flutter-dependencies