我有一个简单的Flutter WebView应用程序来显示我的网站。 问题是,在我的网站上,我有2个功能可以打开新的浏览器窗口。
例如,其中之一是facebook登录功能,当用户单击facebook登录时,它会加载facebook登录api页面,登录完成后,它会告诉用户返回到另一页面,但是就像在WebView中一样,我无法返回其他页面。
我是否可以通过某种方式在Flutter上打开2个WebView来加载不同的页面?如果不是,是否还有其他可能的解决方案?
答案 0 :(得分:0)
您可以使用我的插件flutter_inappwebview,它是Flutter插件,允许您添加内联WebView或打开应用程序内浏览器窗口,并且具有许多事件,方法和选项来控制WebView。 / p>
它实现onCreateWindow
事件,即WebView请求主机应用程序创建新窗口时触发的事件,例如,尝试使用target="_blank"
打开链接或{{1 }}由JavaScript端调用。
在此示例中,我加载了一个简单的初始HTML(仅出于示例目的),该按钮具有按钮window.open()
,当单击该按钮时,它将在{{1}中打开一个新的WebView。 }。使用此新的WebView,您可以通过<button id="login-button">LOGIN</button>
事件或使用AlertDialog
事件来监听URL的更改,或者可以在用户登录后检查并获取特定的cookie。您可以在其中添加任何逻辑新的WebView。
这是代码示例:
onLoadStop