【发布时间】:2011-05-27 12:03:14
【问题描述】:
我想根据内容高度动态设置WebBrowser控件的高度。
我的场景是:在那个特定的视图上,我有不同的元素——图像、MediaElement 等,以及在那个 WebBrowser 控件中呈现的那些富文本之间。为了实现统一滚动,我将所有内容包装在一个滚动视图中,并在 webbrowser 控件上禁用滚动。
目前我有一个JavaScript 方法,当body 完成加载并将高度信息发送到C# 代码隐藏时调用该方法,但计算出的高度不正确。
我今天的技巧基本上是将返回值乘以大约 1.75。
在页面标题中,我有以下元标记:
<meta charset='Windows-1257'>
<meta name='viewport' content='width=device-width' />
<meta name='viewport' content='user-scalable=no' />
<meta name='viewport' content='initial-scale = 1.0' />
<meta name='HandheldFriendly' content='true' />"
<meta name='target-densitydpi=device-dpi' />
这是我的body 标签。
<body onLoad="SendDataToPhoneApp()" style="margin:0px;padding:0px;">
我的JavaScript 函数:
<script>
function getDocHeight() {
return document.getElementById('pageWrapper').offsetHeight;
}
function SendDataToPhoneApp() {
window.external.Notify('' + getDocHeight());
}
</script>
pageWrapper 是 body 的直接子代。
【问题讨论】:
-
看起来你正在尝试这个问题的答案所建议的方法:stackoverflow.com/questions/4684307/… 我建议尝试'document.body.clientHeight'。我不知道您有哪个元素的 id 为“pageWrapper”。如果您可以提供有关您返回的高度值以及您期望的值的更多详细信息,那将有所帮助。哪个元素上有'pageWrapper' id?另外,我很好奇你的场景。为什么要将 WebBrowser 高度设置为内容高度?
标签: windows-phone-7 webbrowser-control