How to open application from a webbrowser windows phone
我正在开发Windows Phone应用程序。
在页面中,我放置了一个按钮,然后单击该按钮,我打开了网络浏览器,并重定向到我们的网站页面以进行某些处理。有很多网页。在上一个网页中,我们添加了一个按钮"关闭"。在关闭按钮中,单击我要关闭Web浏览器,然后在打开Web浏览器之前以最后一个状态打开应用程序。我该怎么办?
谢谢。
我将应用程序中的按钮称为"应用程序按钮",并将网页中的按钮称为"关闭按钮"。
将名为webBrowser1的WebBrowser控件添加到Windows Phone应用程序。使它覆盖整个屏幕,并将其"可见性"属性设置为"已折叠"。
在应用程序按钮的点击事件上,使用
1 2 | webBrowser1.Visibility = System.Windows.Visibility.Visible; webBrowser1.Navigate(new Uri("http://yourwebsite.com/page"); |
显示网络浏览器并将其导航到您网站的第一页。
使网站最后一页上的关闭按钮导航到网站上的新页面,称为" close.html"或您想要的任何页面。在javascript中,这看起来像
1 | <Button onclick="window.location.href='http://yourwebsite.com/close.html';"> |
返回应用程序:在webBrowser1的导航事件上,
1 2 3 4 | if (e.Uri.ToString().Contains("close.html")) { webBrowser1.Visibility = System.Windows.Visibility.Collapsed; } |
当您单击站点最后一页上的按钮时,它将导航到" close.html"。发生这种情况时,将触发Web浏览器的"导航"事件。由于每次更改页面都会触发此事件,因此您需要检查新网址是否包含" close.html",即您的关闭按钮导航到的页面。如果是这样,Web浏览器将被隐藏,您将再次看到您的应用程序。
。
(在VB中,代码为)
1 2 | webBrowser1.Visibility = System.Windows.Visibility.Visible webBrowser1.Navigate(New Uri("http://yourwebsite.com/page") |
和
1 2 3 | If e.Uri.ToString.Contains("close.html") webBrowser1.Visibility = System.Windows.Visibility.Collapsed End If |
编辑:当我写答案时,我想的是通用术语,不记得您是专门询问Web浏览器的(因此,使用
不可能从总体上实现这一目标。也就是说,有一个应用程序A可以打开另一个应用程序B,而您想从应用程序B中关闭它并打开A。我认为这是不可能的,原因有很多:
-如何获取到应用程序A的地址/引用。目前没有API。
-没有第三方可以在网络浏览器中注册应用的内容处理程序/插件。
-最重要的是,安全性,安全性,安全性。这将打开来自网络攻击的大门。
但是,对于您的应用程序B是Web浏览器的要求,可以使用任务启动器WebBrowserTask。正如@claus所建议的那样,您可以在最后一页中使用
因此,如果您想获得在问题中描述的那种效果,最好将Web浏览器嵌入到您的应用程序(作为全屏应用程序)中,并从该angular出发通过Javascript在Web浏览器(控件)和(主机)应用程序之间进行交互。
希望这会有所帮助。