webview 相关问题

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

当推送来自两个不同的屏幕时如何在特定屏幕上弹出

在此订单详细信息屏幕中,我将从两个差异屏幕进入,一个来自orders_lists屏幕,另一个来自结账弹出窗口,用于在成功下订单后显示订单详细信息,但我希望...

回答 1 投票 0

如何为打包的 Web 视图应用程序使本地服务器的 IP 地址动态化?

该项目是为本地使用而设计的,服务器使用JS构建,客户端使用HTML和JS构建。我想将客户端打包成一个Web视图应用程序,以使其更易于使用。不过,我现在

回答 1 投票 0

Android Web 视图:禁用 CORS

Android 是否允许本机应用程序针对 http://(非本地/文件)请求禁用 CORS 安全策略? 在我的本机应用程序中,Web 视图通过 http:// 显示远程 html,而不是在本地/文件系统上。 T...

回答 4 投票 0

Android Webview 打开新的 Chrome 会话

我试图为 webview 应用程序创建 Google Auth 登录。 它的工作原理如下 用户点击应用程序中的“使用 Google 登录”按钮,默认/Chrome 浏览器将打开,显示所有登录的 Google ac...

回答 1 投票 0

使用 CommunityToolkit.MVVM 和 EventToCommand 的 WebView 导航事件 .NET MAUI

我正在使用[RelayCommand]来处理.NET MAUI中WebView的导航事件。 异步无效导航(WebNavigedEventArgs args) 我已经将它绑定在我的 XAML 中,使用 我正在使用 [RelayCommand] 处理 .NET MAUI 中 WebView 的导航事件。 async void Navigated(WebNavigatedEventArgs args) 我已将其绑定在我的 XAML 中,使用 <toolkit:EventToCommandBehavior EventName="Navigated" Command="{Binding NavigatedCommand}" /> 命令正在触发,参数为空。 我是不是错过了什么? 编辑:我想澄清一下。 当事件引发时,命令被正确调用。 该命令中的参数 (WebNavigedEventArgs args) 为空。 如果在页面中将其用作事件,则没有任何问题。 这些论据包含了答案,而且是正确的。 我正在使用 CommunityToolkit.Maui 版本 1.2.0。 和 CommunityToolkit.MVVM 版本 8.0.0。 Edit2:在另一台机器上测试后,相同的代码运行正确,并且参数传递给命令。 (依赖项 6.0.400) 同样更新到6.0.486后,命令参数变成空了。 参数为空 这是什么意思?我做了一个样品,效果很好。 xaml: <VerticalStackLayout> <WebView HeightRequest="700" Source=""> <WebView.Behaviors> <toolkit:EventToCommandBehavior EventName="Navigated" Command="{Binding IncrementCounterCommand}"/> </WebView.Behaviors> </WebView> <Label Text="{Binding Counter}" HeightRequest="50" BackgroundColor="Red" TextColor="Green" FontSize="Large"/> </VerticalStackLayout> 视图模型: public class MyViewModel : ObservableObject { public MyViewModel() { IncrementCounterCommand = new RelayCommand(IncrementCounter); } private int counter; public int Counter { get => counter; private set => SetProperty(ref counter, value); } public ICommand IncrementCounterCommand { get; } private void IncrementCounter() => Counter++; } 或者你想在page.cs中添加导航事件,你可以尝试: 在xaml中: <VerticalStackLayout> <WebView Navigated="WebView_Navigated" HeightRequest="700" Source=""/> <Label Text="{Binding Counter}" HeightRequest="50" BackgroundColor="Red" TextColor="Green" FontSize="Large"/> </VerticalStackLayout> 在page.cs中: private void WebView_Navigated(object sender, WebNavigatedEventArgs e) { //do something } 另外,我也尝试过将它们一起使用,发现首先会执行navigeted事件,然后再执行命令。 更新如何将 WebNavigedEventArgs 传递到视图模型中 在视图模型中: public class MyViewModel : ObservableObject { public WebNavigatedEventArgs webNavigatedEventArgs; public MyViewModel() { IncrementCounterCommand = new RelayCommand(IncrementCounter); } public ICommand IncrementCounterCommand { get; } private void IncrementCounter() => Navigated(webNavigatedEventArgs); private async void Navigated(WebNavigatedEventArgs arg) { } } 在page.cs中: private void WebView_Navigated(object sender, WebNavigatedEventArgs e) { var viewmodel = (MyViewModel)this.BindingContext; viewmodel.webNavigatedEventArgs = e; } 在xaml中: <WebView Navigated="WebView_Navigated" HeightRequest="700" Source="> <WebView.Behaviors> <toolkit:EventToCommandBehavior EventName="Navigated" Command="{Binding IncrementCounterCommand}"/> </WebView.Behaviors> </WebView> 但我真的不建议你这样做。 对于仍在寻找此问题答案的任何人,社区工具包已经提供了如何将事件参数传递给命令的通用实现。看这里。

回答 2 投票 0

flutter webview 不允许用户代理

我正在尝试在 flutter 应用程序中使用 webview 打开登录谷歌。我安装了 flutter_inappwebview: ^3.1.0 这是我的代码: 子:InAppWebView( 初始Url: url.toString(),

回答 4 投票 0

SpringBoot迁移2.6.15到2.7.0错误:因为它的MIME类型('')不可执行,并且启用了严格的MIME类型检查

我确实从 Spring Boot 2.6.15 升级到 2.7.0 有关我的设置的更多信息: 名为 myPage.html 的 html thymeleaf 页面 位于目录 myproject/src/main/resources/templates/html/myPage.html 中 我确实从 Spring Boot 2.6.15 升级到 2.7.0 有关我的设置的更多信息: html thymeleaf 页面名为 myPage.html 位于目录 myproject/src/main/resources/templates/html/myPage.html <!DOCTYPE HTML> <html> <head> <title>MyPage</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title></title> <link href='https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Material+Icons' rel="stylesheet"> <link rel="icon" type="image/png" th:href="@{/img/favicon.png}" /> </head> <body> <div id="app"></div> <script type="text/javascript" th:src="@{/js/app/myApp.js}" ></script> </body> </html> myApp.js 位于目录 myproject/src/main/resources/static/js/app/myApp.js 弹簧控制器 package com.myapp; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class ViewController { @GetMapping("/myPage") public String myPage() { return "html/myPage"; } } 在更新到 Spring Boot 2.7.0 之前,我能够在我的 Android 应用程序中加载包含 javascript 的 html 页面,并且使用此代码加载一切都工作正常 webView.getSettings().setJavaScriptEnabled(true); webView.loadUrl("http://localhost:8080/myPage"); 更新到springboot 2.7.0后 我收到错误: I/chromium: [INFO:CONSOLE(0)] “拒绝从‘http://localhost:8080/js/app/myApp.js’执行脚本,因为它的 MIME 类型 ('') 不可执行,并且严格MIME 类型检查已启用。”,来源:http://localhost/myPage (0) 我试图在发行说明中查找 MIME、Content-Type 等的更改,但我什么也没找到 https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.7-Release -注释 我还检查了 2.5.0 的弃用列表https://docs.spring.io/spring-framework/docs/2.5.x/javadoc-api/deprecated-list.html 但又什么也没有。也许你们中的一些人知道会发生什么以及如何解决这个问题? 编辑: 我已经尝试了SpringBoot 2.7.13版本,但错误仍然存在。 2.6.15 和 2.7.13 的 Curl 但结果相同。 2.6.15: HTTP/1.1 200 Vary: origin,access-control-request-method,access-control-request-headers,accept-encoding Last-Modified: Sat, 08 Jul 2023 08:49:59 GMT Cache-Control: no-store Accept-Ranges: bytes X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block X-Frame-Options: DENY Content-Type: application/javascript Content-Length: 2453575 Date: Sat, 08 Jul 2023 12:02:28 GMT 2.7.13: HTTP/1.1 200 Vary: origin,access-control-request-method,access-control-request-headers,accept-encoding Last-Modified: Sat, 08 Jul 2023 08:49:59 GMT Cache-Control: no-store Accept-Ranges: bytes X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block X-Frame-Options: DENY Content-Type: application/javascript Content-Length: 2453575 Date: Sat, 08 Jul 2023 11:53:14 GMT Spring 服务内容类型肯定有一些变化,但如何跟踪它? 如何使用 JWT 令牌执行安全的 WebView 请求。我又回来回答这个问题了 问题出在 Android WebView 配置中。 就我而言,解决方案是在扩展 WebViewClient 的类 WebViewClientConfig 中重写 shouldInterceptRequest 并向其传递 JWT 令牌。 shouldInterceptRequest 将使用 jwt 令牌单独调用每个资源。这里的资源是指:html、css、js import java.io.InputStream; import java.util.HashMap; import java.util.Map; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; ... @Override public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { String url = request.getUrl().toString(); try { OkHttpClient client = new OkHttpClient.Builder().build(); Request.Builder builder = new Request.Builder().url(url); // Add your Authorization header builder.header("Authorization", "Bearer " + this.accessToken); // Add other headers if needed Map<String, String> originalHeaders = request.getRequestHeaders(); for (Map.Entry<String, String> header : originalHeaders.entrySet()) { if (!header.getKey().equalsIgnoreCase("Authorization")) { builder.header(header.getKey(), header.getValue()); } } // Build the request and execute Request okHttpRequest = builder.build(); Response response = client.newCall(okHttpRequest).execute(); if (response.isSuccessful()) { String mimeType = response.header("Content-Type", "text/html"); MediaType mediaType = MediaType.parse(mimeType); String charset = "UTF-8"; if (mediaType != null && mediaType.charset() != null) { charset = mediaType.charset().name(); } InputStream responseBodyStream = response.body().byteStream(); Map<String, String> responseHeaders = new HashMap<>(); for (String name : response.headers().names()) { responseHeaders.put(name, response.header(name)); } WebResourceResponse resourceResponse = new WebResourceResponse( mediaType.type() + "/" + mediaType.subtype(), charset, responseBodyStream ); resourceResponse.setResponseHeaders(responseHeaders); return resourceResponse; } else { return super.shouldInterceptRequest(view, request); } } catch (Exception e) { Log.e("WebViewInterceptor", "Network error while intercepting request: " + request.getUrl(), e); return super.shouldInterceptRequest(view, request); } } 然后在 MyActivity 中,我使用 WebViewClientConfig 类,该类扩展了 WebViewClient,我设置了 WebViewClient 并向其传递 JWT 令牌 webView.setWebViewClient(new WebViewClientConfig(token)); 现在这里请求我的html页面。 shouldInterceptRequest 将分别获取 html 中提到的每个 src 的 token:css、js 等。 webView.loadUrl(url + "/endpointName");

回答 1 投票 0

如何解决ERR_CONNECTION_REFUSED错误

错误和代码 我的代码和错误位于图片“错误和代码”的链接中 大家好,你们都做得很好, 我有一个关于 WebView 的问题,我尝试了很多方法,但还是不行

回答 1 投票 0

如何从 flutter 自动播放 vimeo 视频

我尝试使用 flutter_inappwebview 包在 flutter 中自动播放 vimeo 视频 https://pub.dev/packages/flutter_inappwebview 我读了很多博客。我的前辈告诉我使用下面的

回答 1 投票 0

WebView 颤动的导航栏颜色

如何使用WebView更改flutter中的导航栏颜色? 我在应用程序启动时有这个块: SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge); SystemChrome.setSystemUIOverlaySt...

回答 1 投票 0

WebView 导航事件未在 .NET MAUI 中触发

我在 .NET MAUI 应用程序中遇到 WebView 控件问题,导航事件在导航后不会触发。 场景如下: WebView 的 Source 属性设置为

回答 1 投票 0

渲染网页视图 Android 6

我正在开发一个移动应用程序,向用户显示网络视图。在 android 7.1.1 及更高版本中,所有 url 都渲染得很好,但在 android 6 中,我遇到了一些 url 问题。例如,...

回答 1 投票 0

Android 使用协程获取 Webview Html DOM

我编写此代码是为了使用它来获取在 webview 中加载的 HTML 页面的 DOM,在获取后我想使用 DukTape 库和远程 JS 文件来处理 DOM(以处理 DOM 的任何未来更改)

回答 1 投票 0

为什么JavaFX中WebView无法连接到WebSocket?

我正在尝试从 JavaFX 中的 WebView 连接到 WebSocket(因为我想使用仅在 Javascript 中可用的第三方组件)。在 WebView 的 HTML 文件中,我使用 Javascript 创建了一个

回答 1 投票 0

PhoneGap 应用程序中出现键盘时 WebView 闪烁

我正在PhoneGap框架上开发一个网络应用程序。 我发现一个奇怪的情况只发生在 Android 4.0 ICS 设备上。 当我点击输入时,整个视图将缩小以适应新的高度,它

回答 4 投票 0

Android WebView + loadUrl with javascript + onPageFinished = lag

我有WebView,它加载一些页面,当它完成时,我应用一些javascript魔法来搞乱DOM。一切都很好,页面加载和 onPageFinished 我只是调用 wv.loadUrl(javascript); 布...

回答 3 投票 0

Flutter - Android Web 查看摄像头、麦克风和位置权限问题

我创建了一个网络视频聊天应用程序,在拨打电话之前需要获得访问摄像头、麦克风和位置的权限。该应用程序在 Chrome 和 Firefox 等浏览器中运行良好。问题是我

回答 1 投票 0

如何为 Android 15 边缘到边缘布局 Web 视图

我有一个仅包含网络视图的应用程序。我正在尝试全面更新 Android 15。 下面是来自layout/webview.xml 和MainActivity.kt 的当前代码。 它在 Android 1 上运行良好...

回答 1 投票 0

如何解决 .NET MAUI 中 WebView 和 ScrollView 内 CarouselView 的间距问题?

(https://i.sstatic.net/mXYjWeDs.png) 我正在构建一个 .NET MAUI 应用程序,它显示具有以下功能的文章: 从右向左或从左向右滑动可在文章之间移动。 滚动你...

回答 1 投票 0

VSCode WebView Extension 中是否有 API 可以从 uri 字符串下载文件?

我正在编写 VSCode 的扩展,并尝试从 uri 字符串中下载具有建议文件名的文件。 这通常是在浏览器上完成的,但在扩展中不起作用。

回答 2 投票 0

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