-
-
Notifications
You must be signed in to change notification settings - Fork 158
Closed
Description
Affected version
0.16.3
No same issues found
- Yes, I search all issues but not found.
Bug type
Others
Which frontend framework you are using.
vue3.x
Steps to reproduce
- 新建一个elenemt组件
- 使用webf加载html
- webview显示内容无法选中
Code example
html内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
html, body {
width: 100%;
height: 100%;
}
.root {
width: 100%;
height: 100%;
overflow-y: auto;
background-image: linear-gradient(to bottom, white, red);
}
#webview {
padding-bottom: 50px;
background-color: orange;
}
</style>
</head>
<body>
<div id="webview">
<flu-simple-web style="height: 500px; " src="https://flutter.cn/">
</flu-simple-web>
</div>
</body>
</html>flu-simple-web 组件适配
import 'package:flutter/widgets.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:webf/webf.dart';
import 'package:webview_flutter/webview_flutter.dart';
class SimpleWebview extends StatelessWidget {
final String url;
const SimpleWebview({super.key, required this.url});
@override
Widget build(BuildContext context) {
return InAppWebView(
initialSettings: InAppWebViewSettings(overScrollMode: OverScrollMode.IF_CONTENT_SCROLLS),
initialUrlRequest: URLRequest(url: WebUri(url)));
}
}
class SimpleWebviewElement extends WidgetElement {
SimpleWebviewElement(super.context);
String get src => getAttribute('src') ?? "";
bool use_webview_flutter = false;
WebViewController? controller;
@override
String get tagName => "simple-webview-element";
@override
initState() {
super.initState();
if (use_webview_flutter) {
controller = WebViewController()
..setJavaScriptMode(JavaScriptMode.unrestricted)
..setBackgroundColor(const Color(0xFFFFFFFF))
..setNavigationDelegate(NavigationDelegate(
onProgress: (int progress) {
// Update loading bar.
},
onPageStarted: (String url) {},
onPageFinished: (String url) {},
))
..loadRequest(Uri.parse(src));
}
}
Widget _build_webview() {
if (use_webview_flutter) {
return WebViewWidget(controller: controller!);
}
return SimpleWebview(url: src);
}
@override
Widget build(BuildContext context, List<Widget> children) {
return _build_webview();
}
}
Expected results
使用webf加载的webview内文本可以选中,复制
Actual results
webf加载的webview页面内容无法选中,复制;不使用webf加载webview的页面是可以正常选中复制的
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels