WP7 WebBrowser控件缩放

时间:2010-12-21 14:04:03

标签: windows-phone-7 webbrowser-control zoom

有些页面太小而且难以在WebBrowser控件中读取,是否可以缩放?

4 个答案:

答案 0 :(得分:5)

如果您可以控制html,则可以设置视口的initial-scale。更多背景信息。

The IE Mobile Viewport on Windows Phone 7

答案 1 :(得分:5)

我选择了以下黑客:

BrowserControl.LoadCompleted += Browser_dohack;
private void Browser_dohack(object sender, NavigationEventArgs e)
    {
        string html = BrowserControl.SaveToString();
        string hackstring = "<meta name=\"viewport\" content=\"width=320,user-scalable=yes\" />";
        html = html.Insert(html.IndexOf("<head>", 0) + 6, hackstring);
        BrowserControl.NavigateToString(html);
        BrowserControl.LoadCompleted -= Browser_dohack;
    }

答案 2 :(得分:0)

是的,假设您没有阻止用户缩放,您可以点击缩放或使用捏合/拉伸,就像在完整浏览器中一样。

答案 3 :(得分:0)

我在所请求页面的正文CSS3 - 属性上设置scale transform - 函数,因为我真的知道布局并且它可能不会很快就会改变。

private void OnBrowserNavigated(object sender, NavigationEventArgs e) {
    var browser = (sender as WebBrowser);
    browser.InvokeScript("eval", 
        "var script = document.createElement('script');" +
        "script.src = \"https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.0.min.js\";" +
        "document.body.appendChild(script);" +
        "$('body').css('transform-origin', '0 0');" +
        "$('body').css('transform', 'scale(2.5)');"             
    );
}

我通过jQuery解决了它,因为我发现方式更方便。我也可以通过普通的javascript完成它,因为目标浏览器在这里没有问题。