有些页面太小而且难以在WebBrowser控件中读取,是否可以缩放?
答案 0 :(得分:5)
如果您可以控制html,则可以设置视口的initial-scale
。更多背景信息。
答案 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完成它,因为目标浏览器在这里没有问题。