我真的需要能够计算出给定WebView
内HTML的高度。这对我正在尝试构建的项目至关重要。我知道这不可能立即实现,但我可以确定WebView上是否存在滚动条我可能会增加视图的高度,直到它消失。
对此有何想法?或任何替代解决方案/建议?我考虑使用HTMLAgilityPack(现在为ported to Metro)将其转换为TextBlock,但HTML太复杂了。
答案 0 :(得分:7)
如果您可以控制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
事件:
答案 1 :(得分:0)
这可能是一个很好的解决方案,但设备像素密度仍然存在问题。如果您在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;
}