Flutter-WebView 사용에 대한 자세한 설명
3175 단어 [Flutter 사소한 지식】
flutter_webview_plugin: ^0.3.1
pubspce를 가져옵니다.yaml 그리고 WebviewScaffold와 FlutterWebviewPlugin을 직접 사용할 수 있어요.WebviewScaffold
Flutter의 웹 Widget
WebviewScaffold
WebviewScaffold 사용 방법WebviewScaffold(
url: widget.url,
// URL
withZoom: true,
//
withLocalStorage: true,
//
hidden: true,
//
initialChild: Container(
color: Colors.white,
child: Center(
child: Text('Wiating...'),
),
), //
),
WebviewScaffold 사용 방법은 매우 간단합니다. 우선 자주 사용하는 속성을 알아보세요.
Key key,
this.appBar,
@required this.url,//String URL
this.headers,//
this.withJavascript,//bool Javascript
this.clearCache,//bool
this.clearCookies,//bool cookies
this.enableAppScheme,//
this.userAgent,//String userAgent
this.primary = true,
this.persistentFooterButtons,
this.bottomNavigationBar,//Widget bar
this.withZoom,//bool
this.withLocalStorage,//bool
this.withLocalUrl,//bool
this.scrollBar,//bool scrollBar
this.supportMultipleWindows,
this.appCacheEnabled,//bool
this.hidden = false,//bool
this.initialChild,// child, hidden = true Widget
this.allowFileURLs,//bool FileURL
this.resizeToAvoidBottomInset = false,
this.invalidUrlRegex,
this.geolocationEnabled
위에서 말한 바와 같이 웹을 불러올 수 있습니다. 웹의 상태를 감청하려면 FlutterWebviewPlugin을 사용하여 감청을 설정해야 합니다.
FlutterWebviewPlugin WebView 상태 모니터링
// URL
StreamSubscription _onUrlChanged;
// WebView
StreamSubscription _onStateChanged;
// WebView
StreamSubscription _onHttpError;
webviewReference.close(); //
//URL
_onUrlChanged = webviewReference.onUrlChanged.listen((url) {});
//
_onStateChanged = webviewReference.onStateChanged.listen((state) {
switch (state.type) {
case WebViewState.startLoad: //
if (_isToMain(state.url) && !exiting) {
if (widget.backForbid) {
webviewReference.launch(widget.url);
} else {
Navigator.pop(context);
exiting = true;
}
}
break;
default:
break;
}
});
//
_onHttpError = webviewReference.onHttpError.listen((error) {
print(error);
});
주의해야 할 것은Widget을 없애기 전에 WebView의 감청과view를 없애는 것입니다.
@override
void dispose() {
// web view
_onUrlChanged.cancel();
_onStateChanged.cancel();
_onHttpError.cancel();
webviewReference.dispose();
super.dispose();
}
글쓴이: JakePrim
기사 링크:https://jakeprim.cn/2019/04/07/flutter-1-3/
저작권 고지: 본 블로그의 모든 기사는 특별 고지를 제외하고 CC BY-NC-SA 4.0 라이센스 계약을 따릅니다.전재는 Jake Prim 기술 연구원에서 왔다는 것을 명기해 주십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Flutter-WebView 사용에 대한 자세한 설명Flutter에도 WebView가 있는데 Flutter는 어떻게 웹을 불러옵니까?Flutter는 WebView 플러그인을 제공하고flutter_webview_plugin: ^0.3.1pubspce를 가져옵니다.yam...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.