webview 相关问题

托管HTML内容的图形用户界面中的元素。对于Android,请查看android-webview标签。对于iOS,请查看uiwebview或wkwebview。

如何将背景颜色设置为透明,以显示运营商信息、时间和电池状态

我正在使用 WKWebView 在 Swift 3+ 应用程序中打开网页。 我没有使用故事板或 XIB。 当我的 webview 加载时,它会隐藏运营商信息、蜂窝网络信号强度指示器(做...

回答 1 投票 0

Leaflet webview:Javascript/HTML setView 地理位置错误

我正在尝试在 Android Studio WebView 中显示远程 HTML 网页。该网页显示了某个位置的一些 2D 地理点数据在用户位置上的缩放,如下所示: var map = L.map('地图...

回答 1 投票 0

如何在android中显示当前的webview

我有3个网络视图,显示来自3个搜索引擎的搜索字符串的查询结果。如果显示谷歌,我在底部有雅虎和询问按钮。当我单击其中任何一个时,我都会得到结果。 .

回答 4 投票 0

无法使用 flutter_inappwebview 将捕获的图像保存到图库

无法使用 flutter_inappwebview 将捕获的图像保存到图库 技术 版本 颤振版本 2.0.6 flutter_inappwebview 插件版本 5.3.2 安卓版本 8,9,10,11

回答 1 投票 0

如何劫持Android中的twitter嵌入后播放按钮

我正在开展我的业余项目,在网络视图中显示嵌入的推文。一些推文包含视频。在 iOS 上,当我单击蓝色播放按钮时,它会全屏启动视频

回答 1 投票 0

React Native Webview:动态播放 HTML5 视频有时会导致黑屏,只有音频而没有图片,需要用户交互

我正在使用 expo-react Native 构建一个应用程序来动态播放视频,但有时只播放音频但没有视频。我必须点击屏幕才能看到图片。 在 Android TV 中它可以工作...

回答 1 投票 0

如何在 vscode webview 中使用 acquireVsCodeApi [React]

我正在尝试为基于Webview的vscode开发一个新的扩展,但是我在从客户端向扩展发布消息时遇到了问题。作为初学者,我使用了这个存储库,并且正在关注...

回答 4 投票 0

如何捕获 iframe 重定向?

我有一个WebView,里面有一个iframe。 iframe 的内容会重定向到另一个不允许嵌入 iframe 的 URL。没问题,实际上,我只是想启动外部

回答 3 投票 0

使用 python 中的 pywebview 库重新加载/刷新网页

可以使用 pywebview 库重新加载网页吗? 我的意思是,我有这个代码: 导入网页视图 webview.create_window('哇老兄!', 'index.html') webview.start(http_server=True) ……一个……

回答 2 投票 0

如何用Dart(Flutter)检测当前页面是否在webview中运行(而不是在外部浏览器/系统浏览器中)

我在 Facebook 帖子上分享了我的网络应用程序链接,我的用户单击此链接,页面在 Facebook 网络视图中打开。我想提醒他们“您正在 Facebook 浏览器中查看此页面,请打开

回答 2 投票 0

在webview中加载本地javascript?

我正在用我自己的 Swift 广告制作移动浏览器,我想运行脚本。我已经注入 JavaScript 本地文件,但它在其他窗口中打开并覆盖 webView 内容。可以跑步吗

回答 1 投票 0

为什么 .NET MAUI WebView 无法打开非其来源网站的链接?

我正在使用 Visual Studio 2022 开发一个包含 WebView 对象的 NET MAUI 移动应用程序。 源网站 mywebsite.com 已正确加载,并且其所有内部链接均有效。 我的目标是...

回答 3 投票 0

如何在flutter web中检测InAppWebView中的滚动事件?

我想知道用户何时滚动webview,以便我可以处理一些操作。但目前我无法检测到滚动事件。 InAppWebView( onScrollChanged:(控制器,我...

回答 1 投票 0

如何检测webview滚动到底部?

我想知道用户何时结束在显示条款和条件的 Web 视图上的滚动,以便仅当用户阅读此内容时才显示“接受”按钮。 我想知道用户何时结束在显示条款和条件的 Web 视图上的滚动,以便仅当用户阅读此内容时才显示“接受”按钮。 <StackLayout Spacing="0" BackgroundColor="{StaticResource WhiteColor}"> <CustomView:HeaderView VerticalOptions="Start" LeftImageSource="{Binding LeftImage}" RightImageSource="{Binding RightImage}" LeftCommand="{Binding LeftClickCommand}" RightCommand="{Binding RightClickCommand}" HeaderText="{Binding ScreenTitle}" PrevText="{Localize:ETranslate PrevText}" /> <WebView Source="{Binding Html, Converter={StaticResource HtmlSourceConverter}}" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" /> </StackLayout> public class HtmlSourceConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var html = new HtmlWebViewSource(); if (value != null) { html.Html = value.ToString(); } return html; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } 我尝试使用 Renderer 来实现此目的,但在 iOS WkWebViewRenderer 中没有 WebViewRenderer 中可用的 Scrolled() 方法。 有什么方法可以在 Xamarin.Forms 中实现这一点吗? WKWebView 内部有一个属性 ScrollView,所以我们可以用它覆盖 Delegate。 WKWebViewRenderer 中的代码 [assembly: ExportRenderer(typeof(WebView), typeof(MyRenderer))] namespace FormsA.iOS { public class MyDelegate : UIScrollViewDelegate { public override void Scrolled(UIScrollView scrollView) { if(scrollView.ContentOffset.Y >= scrollView.ContentSize.Height - scrollView.Frame.Size.Height) { //here rearch bottom } else if(scrollView.ContentOffset.Y < scrollView.ContentSize.Height) { } } } public class MyRenderer: WkWebViewRenderer { protected override void OnElementChanged(VisualElementChangedEventArgs e) { base.OnElementChanged(e); this.ScrollView.Delegate = new MyDelegate(); } } } 它在我这边工作得很好,请参阅https://stackoverflow.com/a/52872317/8187800. 我也有 Android 的解决方案。这是完整的解决方案,希望这对寻找相同解决方案的人有帮助! MyPage.xaml <webview:ScrollWebView x:Name="webView" Source="{Binding Html, Converter={StaticResource HtmlSourceConverter}}" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" IsBottomReached="{Binding IsShowAgreeButton}"/> ScrollWebView 控件 public class ScrollWebView : WebView { public static BindableProperty IsBottomReachedProperty = BindableProperty.Create(nameof(IsBottomReached), typeof(bool), typeof(ScrollWebView), default(bool), BindingMode.TwoWay, propertyChanged: null); public bool IsBottomReached { get { return (bool)GetValue(IsBottomReachedProperty); } set { SetValue(IsBottomReachedProperty, value); } } } Android:ScrollWebViewRenderer [assembly: Xamarin.Forms.ExportRenderer(typeof(ScrollWebView), typeof(ScrollWebViewRenderer))] namespace MyApp.Droid { public class ScrollWebViewRenderer : WebViewRenderer { public static ScrollWebView view = null; public ScrollWebViewRenderer(Context context) : base(context) { } protected override void OnElementChanged(ElementChangedEventArgs<WebView> e) { base.OnElementChanged(e); view = (ScrollWebView)Element; if (Control != null) { Control.ScrollChange += Control_ScrollChange; } } private void Control_ScrollChange(object sender, ScrollChangeEventArgs e) { var nativeWebView = e.V as global::Android.Webkit.WebView; int height = (int)Math.Floor(nativeWebView.ContentHeight * nativeWebView.Scale); int webViewheight = nativeWebView.Height; int cutOff = height - webViewheight; if (e.ScrollY >= cutOff) { view.IsBottomReached = true; System.Diagnostics.Debug.WriteLine("Bottom Reached"); } else { view.IsBottomReached = false; } } } } iOS:ScrollWebViewRenderer [assembly: ExportRenderer(typeof(ScrollWebView), typeof(ScrollWebViewRenderer))] namespace MyApp.iOS.RendererClasses { public class ScrollWebViewRenderer : WkWebViewRenderer { public static ScrollWebView view = null; public ScrollWebViewRenderer() { } protected override void OnElementChanged(VisualElementChangedEventArgs e) { base.OnElementChanged(e); view = (ScrollWebView)Element; MyDelegate myDel = new MyDelegate(); myDel.ProcessCompleted += MyDel_ProcessCompleted; this.ScrollView.Delegate = myDel; } private void MyDel_ProcessCompleted(object sender, bool isScrolledToBottom) { view.IsBottomReached = isScrolledToBottom; } } public class MyDelegate : UIScrollViewDelegate { public event EventHandler<bool> ProcessCompleted; public override void Scrolled(UIScrollView scrollView) { if (scrollView.ContentOffset.Y >= scrollView.ContentSize.Height - scrollView.Frame.Size.Height) { System.Diagnostics.Debug.WriteLine("Bottom Reached"); ProcessCompleted?.Invoke(this, true); } else { ProcessCompleted?.Invoke(this, false); } } } } 实现这个答案后,https://stackoverflow.com/a/66931493/15125666我仍然遇到Android渲染器的问题,因为它没有检测到用户何时到达WebView的底部。 为了解决这个问题,您需要在计算中添加一个缓冲区,这将在将内容高度乘以比例时考虑任何潜在的浮点错误。 这里是 Android 的更新代码:ScrollWebViewRenderer private void Control_ScrollChange(object sender, ScrollChangeEventArgs e) { var nativeWebView = e.V as global::Android.Webkit.WebView; int height = (int)(nativeWebView.ContentHeight * nativeWebView.Scale); int webViewheight = nativeWebView.Height; int bottomThreshold = (int)Math.Floor(0.004 * webViewheight); // the number that I used 0.004 was what worked for me. you might need to adjust it for your use case. int cutOff = height - webViewheight - bottomThreshold; if (e.ScrollY >= cutOff) { view.IsBottomReached = true; System.Diagnostics.Debug.WriteLine("Bottom Reached"); } else { view.IsBottomReached = false; } } 这里我添加了一个动态 bottomThreshold 缓冲区,并将其用于 cutOff 计算。它在计算中添加了一个小缓冲区,以确保即使很小的差异也不会妨碍到达底部的检测。

回答 3 投票 0

在 webview 上获取发布请求正文 - Flutter

当我使用 flutter 的 InAppWebView 包加载页面时,我试图拦截特定的 post 请求并获取它的正文。 在 iOS 上,此解决方案使用“shouldOverrideUrlLoading”来 c...

回答 1 投票 0

如何在应用内 Chromium 浏览器中启用通知模块? (未捕获的引用错误:未定义通知)

我正在开发一个具有基于 Chromium 的应用内浏览器的应用程序。我需要允许用户通过这个兄弟与某个网页/服务器(我没有内部访问权限)进行交互......

回答 1 投票 0

将数据从 React Native 发送到 WebView 渲染的 React 应用程序时遇到问题

我正在开发一个项目,需要将数据(特别是陀螺仪数据)从 React Native 应用程序发送到在 WebView 内呈现的 React 应用程序。然而,我在成功方面遇到了困难

回答 1 投票 0

关闭 chrome 选项卡时遇到问题

我正在使用谷歌登录我的应用程序,并且登录页面正在加载 Flutter 自定义选项卡包。我的页面已成功加载,但我想以编程方式关闭选项卡并将其路由到...

回答 1 投票 0

如何在 Flutter 中实现 WebView 中的 UI 现代化?我在 Flutter 中的 WebView 控制器看起来太旧了

Android 的问题 我在 Flutter 中遇到了 WebView 控制器的问题。它看起来已经过时了,我想知道如何使其外观现代化。我已经广泛研究了这个问题......

回答 1 投票 0

使用本地 CSS 在应用程序中显示站点(使用 Android Studio)

我有一个专为在移动设备上显示而设计的网站。所以我决定使用 Android Studio。 我想显示我的 html 文件,从服务器实时显示,但应用程序中有本地 css 和 js 文件...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.