程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在带有动态 url 的 IOS 中使用 WebView?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何在带有动态 url 的 IOS 中使用 WebView??

开发过程中遇到如何在带有动态 url 的 IOS 中使用 WebView?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在带有动态 url 的 IOS 中使用 WebView?的解决方法建议,希望对你解决如何在带有动态 url 的 IOS 中使用 WebView?有所启发或帮助;

我有一个动态 HTML url ('https://...../tokens,headers etc./example.HTML')。我在 url 中放置了 cookie 设置。这是我的 webvIEw 类,它在 AndroID 上运行良好。但在 IOS 上,只有加载小部件处于活动状态。网络视图不起作用。控制台上没有错误或警告。我还将以下代码添加到 info.pList:

@H_673_4@<key>io.Flutter.embedded_vIEws_prevIEw</key><true/> <key>NSAppTransportSecurity</key> <Dict> <key>NSAllowsArbitraryLoads</key> <true/> <key>NSAllowsArbitraryLoadsInWebContent</key> <true/> </Dict>

我的 webvIEw 小部件仍然无法正常工作。我尝试了许多 webvIEw 插件,但它们都不适用于我的问题。如果我使用任何其他网址,它就可以正常工作。一切都在颤振医生上更新。 Xcode 12.3 版。 这是使用inappwebvIEw插件的代码;

@H_673_4@class MyWebVIEw extends StatefulWidget { final String title; final String SELEctedUrl; MyWebVIEw({ @required this.title,@required this.SELEctedUrl,}); @overrIDe _MyWebVIEwState createState() => _MyWebVIEwState(); } class _MyWebVIEwState extends State<MyWebVIEw> { num position = 1; String token; String tenant; String rolEID; String path; /*final Completer<WebVIEwController> _controller = Completer<WebVIEwController>(); */ final FlutterWebvIEwPlugin = new FlutterWebvIEwPlugin(); final Set<JavaScriptChAnnel> JsChAnnels = [ JavaScriptChAnnel( name: 'Print',onmessageReceived: (JavaScriptmessage messagE) { print(message.messagE); }),].toSet(); @overrIDe voID initState() { super.initState(); WidgetsBinding.instance.addPostFrameCallBACk((_) async { await _getTenant().then((v) { setState(() { this.tenant = v; }); }); }); WidgetsBinding.instance.addPostFrameCallBACk((_) async { await _getToken().then((v) { setState(() { this.token = v; }); }); }); WidgetsBinding.instance.addPostFrameCallBACk((_) async { await _getRolEID().then((v) { setState(() { this.rolEID = v; }); }); }); WidgetsBinding.instance.addPostFrameCallBACk((_) async { await _getDefaultPath().then((v) { setState(() { this.path = v; }); }); }); } @overrIDe Widget build(BuildContext context) { print('url ->>> ' + Widget.SELEctedUrl); return new MaterialApp( routes: { "/": (_) => new WebvIEwScaffold( headers: { 'tenant': this.tenant,'ORA_BIPS_NQID': this.token,'roles': this.rolEID },url: Widget.SELEctedUrl,JavaScriptChAnnels: JsChAnnels,appbar: new Appbar( leading: Iconbutton( icon: Icon(Icons.arrow_BACk,color: colors.whitE),onpressed: () => Navigator.of(context).pop(),),BACkgroundcolor: colors.grey,title: new Text("Vispeahen"),withZoom: true,withlocalstorage: true,hIDden: true,initialChild: Container( color: colors.white,child: const center( child: CircularProgressInDicator(),},); } }

这是 Flutter 的 WebVIEw 插件;

@H_673_4@class MyWebVIEw extends StatefulWidget { final String title; final String SELEctedUrl; MyWebVIEw({ @required this.title,}); @overrIDe _MyWebVIEwState createState() => _MyWebVIEwState(); } class _MyWebVIEwState extends State<MyWebVIEw> { num position = 1; final Completer<WebVIEwController> _controller = Completer<WebVIEwController>(); @overrIDe voID initState() { super.initState(); WebVIEw.platform = SurfaceAndroIDWebVIEw(); } @overrIDe Widget build(BuildContext context) { print('url ->>> ' + Widget.SELEctedUrl); return Scaffold( appbar: Appbar( BACkgroundcolor: colors.grey,title: Text(Widget.titlE),body: IndexedStack( index: position,children: <Widget>[ WebVIEw( initialUrl: Widget.SELEctedUrl,onPageStarted: (value) { setState(() { position = 1; }); },onPageFinished: (value) { setState(() { position = 0; }); },JavaScriptMode: JavaScriptMode.unreStricted,onWebVIEwCreated: (WebVIEwController webVIEwController) { _controller.complete(webVIEwController); },navigationDelegate: (Navigationrequest nav) { print( 'SAW REQ TO LOAD: ${nav.url}\nIN MAIN FRAME? ${nav.isForMainFramE}'); return NavigationDecision.navigate; }),Container( child: Center(child: CircularProgressInDicator()),],)); } }

它给了我同样的结果。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的如何在带有动态 url 的 IOS 中使用 WebView?全部内容,希望文章能够帮你解决如何在带有动态 url 的 IOS 中使用 WebView?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。