Ios 飘动网络视图苹果支付
在尝试使用WebViewController.evaluateJavascript(“myjs”)时,我在调试控制台中遇到此错误Ios 飘动网络视图苹果支付,ios,flutter,dart,uiwebview,wkwebview,Ios,Flutter,Dart,Uiwebview,Wkwebview,在尝试使用WebViewController.evaluateJavascript(“myjs”)时,我在调试控制台中遇到此错误 [VERBOSE-2:ui_dart_state.cc(166)] Unhandled Exception: PlatformException(evaluateJavaScript_failed, Failed evaluating JavaScript, JavaScript string was: 'doucment.getElementById("c
[VERBOSE-2:ui_dart_state.cc(166)] Unhandled Exception: PlatformException(evaluateJavaScript_failed, Failed evaluating JavaScript, JavaScript string was: 'doucment.getElementById("checkout_email").value = "Hell0";'
Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=0, WKJavaScriptExceptionMessage=Unable to run user agent scripts because this document has previously accessed Apple Pay. Documents can be prevented from accessing Apple Pay by adding a WKUserScript to the WKWebView's WKUserContentController., WKJavaScriptExceptionColumnNumber=0, NSLocalizedDescription=A JavaScript exception occurred})
#0 StandardMethodCodec.decodeEnvelope
package:flutter/…/services/message_codecs.dart:572
#1 MethodChannel._invokeMethod
package:flutter/…/services/platform_channel.dart:161
<asynchronous suspension>
#2 MethodChannel.invokeMethod
package:flutter/…/services/platform_channel.dart:334
#3 MethodChannelWebViewPlatform<…>
[VERBOSE-2:ui\u dart\u state.cc(166)]未处理的异常:PlatformException(evaluateJavaScript\u失败,评估JavaScript失败,JavaScript字符串为:'doucment.getElementById(“checkout\u email”)。value=“Hell0”;'
Error Domain=wkerrodomain Code=4“发生JavaScript异常”UserInfo={WKJavaScriptExceptionInNumber=0,WKJavaScriptExceptionMessage=无法运行用户代理脚本,因为此文档以前访问过Apple Pay。通过将WKUserScript添加到WKWebView的WKUserContentController.,WKJavaScriptExceptionColumnNumber=0,NSLocalizedDescription=a JavaScript,可以阻止文档访问Apple Pay发生异常})
#0 StandardMethodCodec.decodeEnvelope
软件包:flatter/../services/message_编解码器。dart:572
#1方法通道。\u调用方法
包装:颤振/../services/平台\通道。dart:161
#2方法Channel.invokeMethod
包装:颤振/../services/平台\通道。dart:334
#3方法ChannelWebViewPlatform
我的省道文件看起来像这样,
在页面加载时,我做了一个简单的检查,以确保我在正确的页面上执行js。如果检查通过,js将被执行,但不幸的是返回上述错误。我尝试在Google上查找答案,但我没有发现类似的问题
final Completer<WebViewController> _controller =
Completer<WebViewController>();
TextEditingController _searchQueryController = TextEditingController();
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
appBar: AppBar(
elevation: 0,
title: _searchBar(),
leading: _directionButton('backward'),
actions: [_directionButton('forward')],
),
body: WebView(
initialUrl: 'https://google.com',
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
},
onPageStarted: (url) {
_searchQueryController.text = url;
},
onPageFinished: (url) async {
print('Page Finished: ' + url);
final controller = await _controller.future;
if (url.contains('checkouts')) {
await controller.evaluateJavascript('doucment.getElementById("checkout_email").value = "Hello";');
}
},
),
));
}
final Completer\u控制器=
完成符();
TextEditingController_searchQueryController=TextEditingController();
@凌驾
小部件构建(构建上下文){
返回安全区(
孩子:脚手架(
appBar:appBar(
海拔:0,
标题:_searchBar(),
前导:_方向按钮(“向后”),
操作:[[u方向按钮('forward')],
),
正文:WebView(
初始URL:'https://google.com',
javascriptMode:javascriptMode.unrestricted,
onWebViewCreated:(WebViewController WebViewController){
_控制器。完成(webViewController);
},
onPageStarted:(url){
_searchQueryController.text=url;
},
onPageFinished:(url)异步{
打印('页面完成:'+url);
最终控制人=等待_控制人。未来;
if(url.contains('checkout')){
wait controller.evaluateJavascript('doucment.getElementById(“checkout_email”).value=“Hello”);
}
},
),
));
}
尝试将其添加到您的info.plist中,重放支付网关的域
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>yourdomain.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
NSAppTransportSecurity
NSExceptionDomains
yourdomain.com
N异常低安全Http负载
别忘了重新安装应用程序尝试将其添加到您的info.plist中,重放支付网关的域
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>yourdomain.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
NSAppTransportSecurity
NSExceptionDomains
yourdomain.com
N异常低安全Http负载
别忘了重新安装应用程序