首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

webview_flutter目标_blank不工作

webview_flutter是一种用于在移动应用中显示网页内容的Flutter插件。它提供了一个WebView小部件,允许开发人员在移动应用中嵌入网页。在WebView中打开链接时,通常会遇到目标_blank不起作用的问题。

目标_blank是HTML中的一个属性,用于指定链接在新标签页或新窗口中打开。然而,对于webview_flutter插件,默认情况下,它不支持在新标签页或新窗口中打开链接。这是因为webview_flutter插件在内部使用的是原生WebView组件,而原生WebView在默认情况下也不支持在新标签页或新窗口中打开链接。

为了解决这个问题,开发人员可以通过自定义代码来实现在WebView中打开链接的功能。一种常用的方法是使用JavaScript来捕获网页中的链接点击事件,并通过与Flutter的通信来请求在新标签页或新窗口中打开链接。下面是一个示例代码:

代码语言:txt
复制
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:webview_flutter/platform_interface.dart';

class MyWebView extends StatefulWidget {
  @override
  _MyWebViewState createState() => _MyWebViewState();
}

class _MyWebViewState extends State<MyWebView> {
  WebViewPlatformController? _controller;

  @override
  Widget build(BuildContext context) {
    return WebView(
      initialUrl: 'https://example.com',
      javascriptMode: JavascriptMode.unrestricted,
      onWebViewCreated: (controller) {
        _controller = controller;
        _controller?.loadUrl('https://example.com');
      },
      navigationDelegate: (NavigationRequest request) {
        if (request.url != 'https://example.com') {
          // 打开新的标签页
          _controller?.evaluateJavascript('window.open("${request.url}","_blank");');
          return NavigationDecision.prevent;
        }
        return NavigationDecision.navigate;
      },
    );
  }
}

在上述代码中,我们通过设置navigationDelegate来拦截WebView中的导航请求。当检测到有链接将要在新标签页或新窗口中打开时,我们使用JavaScript的window.open方法来请求在新标签页中打开该链接。

关于webview_flutter插件的更多信息和使用方法,您可以查阅腾讯云文档中关于Flutter插件的介绍:webview_flutter插件介绍

请注意,以上提供的解决方案是基于webview_flutter插件的一种实现方式,具体的实现可能因应用需求和具体场景而有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 128 天上班工作:照样领工资 9.5 万

    上述内容均明确了主管指定的试用期培训计划及工作目标,并将作为杜某是否予以转正的重要考核标准。...和风畅想公司为证明杜某试用期不能胜任岗位工作提交了《录取聘用函》《试用期目标设定表》《工作不胜任数据参考说明》、录音、其他人员工完成的测试用例。...《试用期目标设定表》中载明杜某的主要工作职责是:“1.执行日常测试工作;2.熟悉、掌握业务;3.整理、优化好测试用例;4.性能测试;5.职业技能提升。”...与上述工作职责相对应的衡量标准为:“按期交付,长期bug发现率高于平均水平,遗漏率小于3%;能够胜任车长或备份车长职责,外部干系评价良好;对Case集有整体把握,Case集功能完备、简洁、冗余并且能适应最新产品...杜某认可《录取聘用函》《试用期目标设定表》、录音的真实性,不认可《工作不胜任数据参考说明》、其他员工的测试用例的真实性,其对上述证据的证明目的均不认可。

    2.2K20

    总结工作这几年,每年目标是什么

    传统企业分公司IT系统部门 工作第一年作为一个新人菜鸟,也没什么大的目标和方向,就进入了一个传统行业的IT部门做技术支持,每天就是收集公司不同业务部门的业务/功能,进行提炼,最后传递给总部的IT研发部门进行研发...,偶尔为公司的同事改下SQL,装个系统,维护一下OA系统,官网的bug; 目标:主要是熟悉这个行业,锻炼了一定的表达和整理能力,对于数据库及数据对于一家公司的重要性有了一定的认识; 软件公司 之后进入了软件公司...首先要显得方案牛X,找到市面上最牛的技术方案,所以面对的大部分问题都是解决复杂业务逻辑和优化强大的代码库; 目标:作为一家软件公司的软件工程师,接触最多的就是TW的那一套,敏捷,CQRS,DDD,TDD...进入互联网公司的理由很简单,之前做软件方案及软件咨询方向的工作主要是为甲方提供更好的解决方案,技术及框架本身没有多少落地的实践,同时自己这套价值输出的主要目标是B的企业,本人对于服务C端用户还是有很大期望的...目标:提高研发,测试,产品上线等多环节的效率,通过工具标准化流程,于是对于AB Test框架,大数据框架,系统集成,微服务等工程化的项目和框架会有更多从进行思考。

    58240

    工作】Proxy Server的优化 - 检测目标网站URL变化

    工作中,我在组里负责一个Proxy(代理)的Module,这个Module是针对微软的Office 365的邮件门户OWA实现,工作起来后,用户访问Office 365 OWA,无需再输入Office...当然实际实现过程中还有很多细节的事情,包括cookie的处理,URL的转换等,这里细讲。   ...但在工作中开发并维护此Module时,我发现一个问题,那就是虽然我们是将请求转发,但还是有很多请求我们需要特殊处理,而且有很多复杂的请求需要研究去支持,因此做为Proxy我必须知道Office 365,...即目标网站都有哪些请求的类型,其实就是哪些不同的URL,不同的URL其实Path不同。   ...个人小感慨,工作中很多小事情,如果自己认为正确,就应坚持去做。

    1.2K80

    2020年 Python学习路线及学习目标规划 拿走谢!

    小编分享2020年Python学习路线及学习目标规划拿走谢,Python作为今年来特别受欢迎的编程语言,是AI时代头牌语言AI领域的敲门砖,Python已经入驻小学生教材,将来不学Python不仅知识会脱节与小朋友都没共同话题了...第一阶段、Python基础   1、学习目标:   能够熟练使用Python技术完成针对小问题的程序编写以及小游戏程序的开发。   ...、定义类、实例化对象   7)异常处理   学会捕捉异常、自定义异常   8)模块和包   理解模块和包的概念病学会使用   9)飞机大战游戏制 第二阶段、Python和Linux高级   1、学习目标...2、知识点:   1)Linux系统应用   Linux发行版系统的使用、基本的操作语句   2)网络编程   TCP/IP协议、服务器工作过程   3)并发编程   线程、进程、协程   4)函数高级应用...装饰器、生成器、迭代器   8)mini-web服务器   根据网络服务的过程写出简易的web服务器   9)mini-web框架   可以编写简易的web服务器框架 第三阶段、前端开发   1、学习目标

    2.9K50
    领券