我真的需要能够计算出一段 HTML 在给定的WebView
. 这对我正在尝试构建的项目非常重要。我知道这不是立即可能的,但我可以确定 WebView 上是否存在滚动条我可能能够增加视图的高度直到它消失。
对此有什么想法吗?或任何替代解决方案/建议?我考虑使用 HTMLAgilityPack(现在移植到 Metro)将它转换为 TextBlock,但 HTML 太复杂了。
如果您可以控制 HTML,请添加以下 javascript:
function getDocHeight() {
var D = document;
return Math.max(
Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
Math.max(D.body.clientHeight, D.documentElement.clientHeight)
);
}
(来自http://james.padolsey.com/javascript/get-document-height-cross-browser/)
并称之为而不是alert
:
window.external.notify(getDocHeight());
然后实现ScriptNotify
事件:
这可能是一个很好的解决方案,但设备像素密度仍然存在问题。如果您在 WP 上运行代码,则转换可能如下所示:
private double PixelsToLogicalPixels(double pixels)
{
var info=Windows.Graphics.Display.DisplayInformation.GetForCurrentView();
return pixels / info.RawPixelsPerViewPixel;
}
private double LogicalPixelsToPixels(double pixels)
{
var info = Windows.Graphics.Display.DisplayInformation.GetForCurrentView();
return pixels * info.RawPixelsPerViewPixel;
}