mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
opt: webview
This commit is contained in:
@@ -9,7 +9,7 @@ import 'package:webview_flutter/webview_flutter.dart';
|
||||
class WebviewController extends GetxController {
|
||||
String url = '';
|
||||
RxString type = ''.obs;
|
||||
String pageTitle = '';
|
||||
RxString pageTitle = ''.obs;
|
||||
String uaType = '';
|
||||
final WebViewController controller = WebViewController();
|
||||
RxInt loadProgress = 0.obs;
|
||||
@@ -19,9 +19,9 @@ class WebviewController extends GetxController {
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
url = Get.parameters['url']!;
|
||||
type.value = Get.parameters['type']!;
|
||||
pageTitle = Get.parameters['pageTitle']!;
|
||||
url = Get.parameters['url'] ?? '';
|
||||
type.value = Get.parameters['type'] ?? '';
|
||||
pageTitle.value = Get.parameters['pageTitle'] ?? '';
|
||||
uaType = Get.parameters['uaType'] ?? 'mob';
|
||||
|
||||
webviewInit(uaType: uaType);
|
||||
@@ -54,7 +54,7 @@ class WebviewController extends GetxController {
|
||||
}
|
||||
}
|
||||
},
|
||||
onPageFinished: (String url) {
|
||||
onPageFinished: (String url) async {
|
||||
if (type.value == 'liveRoom') {
|
||||
print("adding");
|
||||
//注入js
|
||||
@@ -68,6 +68,7 @@ class WebviewController extends GetxController {
|
||||
document.querySelector('#message-navbar').remove();
|
||||
''').then((value) => print(value));
|
||||
}
|
||||
pageTitle.value = await controller.getTitle() ?? '';
|
||||
},
|
||||
// 加载完成
|
||||
onUrlChange: (UrlChange urlChange) async {
|
||||
@@ -92,5 +93,4 @@ class WebviewController extends GetxController {
|
||||
)
|
||||
..loadRequest(Uri.parse(url));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -16,16 +16,24 @@ class WebviewPage extends StatefulWidget {
|
||||
class _WebviewPageState extends State<WebviewPage> {
|
||||
final WebviewController _webviewController = Get.put(WebviewController());
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
Get.delete<WebviewController>();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
centerTitle: false,
|
||||
titleSpacing: 0,
|
||||
title: Text(
|
||||
_webviewController.pageTitle,
|
||||
title: Obx(
|
||||
() => Text(
|
||||
_webviewController.pageTitle.value,
|
||||
style: Theme.of(context).textTheme.titleMedium,
|
||||
),
|
||||
),
|
||||
actions: [
|
||||
const SizedBox(width: 4),
|
||||
IconButton(
|
||||
|
||||
Reference in New Issue
Block a user