【问题标题】:WebView and external linksWebView 和外部链接
【发布时间】:2013-07-05 19:01:03
【问题描述】:

我找不到这种情况的答案:

我的应用程序中有一个 WebView,我在那里加载了我从服务器获取的 HTML - 这工作正常。但就像所有 HTML 页面一样,它们在其他网站上都有链接。如何让 WebView 在电话浏览器中打开外部链接?

这是我的回调:

<div style="font-weight:bold;"><p style="text-align: justify;">No 6. līdz 17. jūlijam Kazaņā, Krievijā notieko&scaron;ajā XXVII Pasaules vasaras Universiādē Latvijas komandu pārstāvēs 23 Rīgas Tehniskās universitātes (RTU) studenti, kas būs lielākā pārstāvniecība starp Latvijas augstskolām.</p></div><div><p style="text-align: justify;">Latviju vērienīgajā sporta pasākumā &scaron;ogad pārstāvēs rekordliels dalībnieku skaits -120 sportisti no dažādām Latvijas augstskolām. Kopumā pasākumā piedalīsies 162 valstu komandas ar 10 442 sportistiem, sacen&scaron;oties 351 sporta veidā. Tas ir vairāk nekā Londonas Olimpiskajās spēlēs izdalītie 302 medaļu komplekti.</p><p>http://www.google.lv</p>

我会这样做:

string callback = HttpRequest...
WebView.NavigateToString(callback );

是否有某种属性可以在我的回调页面上打开外部链接?

编辑:

我的页面上有这个:

<phone:WebBrowser Name="ArticleContent" />

在 C# 中我正在做:

ArticleContent.NavigateToString(callback);

在我的回调(HTML 字符串)中还有 href(指向 Internet 中其他页面的链接)。 如何在外部电话浏览器中打开链接,不在我的应用中

编辑 2.0:

感谢 Toni Petrina 我现在有下一个代码:

private void ArticleContent_Navigating(object sender, NavigatingEventArgs e)
    {
        WebBrowserTask webBrowserTask = new WebBrowserTask();
        //webBrowserTask.Uri = new Uri(e.Uri.ToString(), UriKind.Absolute);
        //webBrowserTask.Show();
        webBrowserTask.URL = e.Uri.ToString();
        webBrowserTask.Show();
    }

它打开电话浏览器并导航到页面 - 这部分没问题。 当我使用后退按钮返回我的应用程序并单击 WebView 中的另一个链接时,它会在 WebView 中打开页面 - 那是什么?(这会出现在 2 或 3 或 4 单击链接上,所有次随机)。

编辑 3.0:

忘记取消活动: e.取消=真;

【问题讨论】:

    标签: c# wpf windows-phone-7 webview windows-phone-8


    【解决方案1】:

    它是WebControl,而不是WebView。您可以使用 Navigate 方法导航到 URI。在MSDN 上查看更多信息。

    编辑:

    要在外部(内置)浏览器中打开链接,请使用[WebBrowserTask][2]。像这样使用它:

    var task = new WebBrowserTask
    {
        task.Uri = new Uri(...)
    }
    task.Show();
    

    您可以通过[WebBrowser.Navigating][3] 事件捕获传出链接导航。只需取消当前导航并从上方调用任务。

    【讨论】:

    • 你不明白,我添加了一个编辑,也许这有助于理解我
    • 是的,这就是我要找的。谢谢
    • 但是,它是第一次工作。当我使用后退按钮 - 返回我的应用程序并选择其他链接时,它会在我的 WebView 中打开页面
    • 忘记取消事件:e.Cancel = true;哎呀:)
    猜你喜欢
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-29
    • 1970-01-01
    • 2014-12-23
    相关资源
    最近更新 更多