【发布时间】:2011-05-28 20:32:04
【问题描述】:
有些页面太小,在 WebBrowser 控件中难以阅读,是否可以缩放?
【问题讨论】:
标签: windows-phone-7 webbrowser-control zooming
有些页面太小,在 WebBrowser 控件中难以阅读,是否可以缩放?
【问题讨论】:
标签: windows-phone-7 webbrowser-control zooming
我在请求页面的主体的transform-property 上设置了CSS3scale-函数,因为我真的知道布局并且它可能不会很快改变。
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 来完成,因为目标浏览器在这里没有问题。
【讨论】:
我使用了以下技巧:
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;
}
【讨论】:
如果您可以控制 html,则可以设置视口的 initial-scale。更多背景在这里。
【讨论】:
是的,假设您没有阻止用户缩放,您可以像在完整浏览器中一样点击缩放或使用捏合/拉伸。
【讨论】: