Windows Phone 8.1 WebView在使用它的NavigateToString方法时无法正确显示页面

时间:2015-01-11 18:04:47

标签: html webview windows-phone-8.1

我尝试使用它的NavigateToString方法在Windows Phone 8.1(使用lumia 520)的webview中显示网页。

我创建了一个HtmlClass类,其中包含以下strings

  1. post_head:页眉。
  2. css_style:要使用的css代码。
  3. post_title:显示帖子标题的html代码。
  4. post_author:显示帖子作者的HTML代码。
  5. post_content:显示帖子内容的html代码。
  6. post_end:身体结束。
  7. script:要使用的jquery。
  8. end:标记html页面的结尾。
  9. 我创建了一个字符串" content"

    string content = HtmlClass.post_head + HtmlClass.css_style + HtmlClass.post_title + title + HtmlClass.post_author + author + HtmlClass.post_content + div55.InnerHtml + HtmlClass.post_end + HtmlClass.script + HtmlClass.end;
    

    div55.InnerHtml是要显示的内容(sample content code)的html代码,使用HtmlAgilityPack提取。

    并使用

    Post.NavigateToString(content);
    

    在webview中加载htmlpage(Post是webview的名称)。

    我面临的问题是,我的页面中的css和jquery脚本都没有被执行。我尝试执行一个简单的javascript(无jquery)功能(在按钮点击时更改div的内容),但这也没有被执行。

    但是当我使用它的Navigate(Uri url)方法在webview中加载test page时,将url设置为我用来通过apache访问页面的地址,并正确显示它。

    使用Navigate(Uri url)

    在Internet Explorer / webview中正确显示

    Displayed correctly in internet explorer

    未在webview中正确显示

    Not correctly displayed in webview

1 个答案:

答案 0 :(得分:1)

在Windows Phone上使用WebViewWebBrowser控件时,请确保您尝试查看的HTML是valid HTML document,其中包含有效的DOCTYPE等。

使用Windows Phone 8.1,WebView控件需要@-ms-viewport { width: device-width; }才能正确格式化内容。

<!DOCTYPE HTML>
<html>
<head>
    <style>
        body { font-size: 16px; }
        @-ms-viewport { width: device-width; }
    </style>
</head>
<body>
    <!-- INSERT YOUR HTML HERE -->
</body>
</html>