我需要导航到我的城域网应用程序中的互联网页面。 我的网址是(样本)'http://www.foo.com/#/foo'。 问题是LaunchUriAsync将网址剪切为“http://www.foo.com”。
try
{
Uri uri = new Uri(item.UriCode);
await Launcher.LaunchUriAsync(uri);
}
catch (Exception exception)
{
//TODO
}
我哪里错了? 问候。
更新:
我确切地知道uri = http://www.foo.com/#/foo。 所以问题来自LaunchUriAsync。
答案 0 :(得分:0)
我尝试使用相同的代码只是硬编码你提到的uri 请检查以下代码:
/// <summary>
/// Invoked when this page is about to be displayed in a Frame.
/// </summary>
/// <param name="e">Event data that describes how this page was reached. The Parameter
/// property is typically used to configure the page.</param>
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
try
{
Uri uri = new Uri("http://www.foo.com/#/foo");
await Launcher.LaunchUriAsync(uri);
}
catch (Exception exception)
{
//TODO
}
}
输出如下所示
我认为还有其他一些问题。
可以使用item.UriCode
行查看。
答案 1 :(得分:0)
我认为很难从你的例子中诊断出真正的错误。
看起来您正在尝试导航到网页中的锚点,但是使用不正确的语法/指向不存在的锚点来执行此操作。但是,您的示例链接页面似乎不包含可导航的锚点。
假设这实际上是您要实现的目标,请尝试以下示例,您将看到导航按预期工作
Launcher.LaunchUriAsync(new Uri("http://www.hypergurl.com/anchors.html#bottom"));
如果这不是您想要实现的目标,我建议将URI中#
字符的存在解释为IE的锚引用,这就是为什么你没有得到结果你需要。