Hyperlink 颤振web:目标中的启动页面="_“自我”;使用url_启动器

Hyperlink 颤振web:目标中的启动页面="_“自我”;使用url_启动器,hyperlink,flutter-web,Hyperlink,Flutter Web,我正在使用软件包 在Flatter web中时,我希望url在当前页面中打开,而不是在target=“\u blank” 我尝试添加forceWebView:true, if (await canLaunch(url)) { await launch( url, forceSafariVC: true, forceWebView: true, headers: <String, String>{'target': '_self'}, ); }

我正在使用软件包

在Flatter web中时,我希望url在当前页面中打开,而不是在
target=“\u blank”

我尝试添加
forceWebView:true,

if (await canLaunch(url)) {
  await launch(
    url,
    forceSafariVC: true,
    forceWebView: true,
    headers: <String, String>{'target': '_self'},
  );
} else {
  throw 'Could not launch $url';
}
if(等待canLaunch(url)){
等待发射(
网址,
是的,
forceWebView:没错,
标题:{'target':'u self'},
);
}否则{
抛出“无法启动$url”;
}
并且还添加了标题,认为他们可能有事情要做,但他们没有

有办法做到这一点吗?多谢各位


在移动和web中打开url的任何其他解决方案,以及允许在self中打开web链接的任何其他解决方案,在Flatter\u web中也被接受。如果您想要实现这一点,您可以使用
webOnlyWindowName
属性并根据您的选择传递
\u self
\u blank

  • \u self
    -在同一选项卡中打开
  • \u blank
    -在新选项卡中打开
我不确定它是否有适当的记录。但是你可以找到负责这个的代码

下面是一个可以测试的工作解决方案

导入“包装:颤振/材料.省道”;
导入“package:url_launcher/url_launcher.dart”;
void main(){
runApp(UrlLauchDemo());
}
类UrlLauchDemo扩展了无状态小部件{
字符串url='0https://www.google.com';
@凌驾
小部件构建(构建上下文){
返回材料PP(
家:脚手架(
正文:中(
子:列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
材料按钮(
颜色:Colors.greenAccent,
child:Text('Launch Google in this page'),
onPressed:()异步{
如果(等待canLaunch(url)){
等待发射(
网址,
是的,
forceWebView:没错,
WebOnlyWindows名称:“\u self”,
);
}否则{
抛出“无法启动$url”;
}
},
),
大小盒子(
身高:100,
),
材料按钮(
颜色:Colors.blueAccent,
child:Text('Launch Google in new Tab'),
onPressed:()异步{
如果(等待canLaunch(url)){
等待发射(
网址,
是的,
forceWebView:没错,
webOnlyWindowName:“\u blank”,
);
}否则{
抛出“无法启动$url”;
}
},
),
],
),
),
),
);
}
}
更新:2021年1月12日
这些信息记录在api文档中

太好了,这很有效,我不得不等19个小时才能给悬赏,太棒了,谢谢!