2011-06-01 90 views
0

我们使用HTA来显示详细的报告信息(关于我们的自动化测试)。 HTA可以变成多个页面长度。它对我们的用户非常有用,但是我有一个可用性问题:当用户滚动到报告中的某个位置(比如teststep 42)并且用户最大化或调整HTA窗口大小时,用户将失去他在当前位置报告(例如他跳到测试步骤32),并且必须再次滚动到正确的位置。当我调整我的HTA时,如何修复页面位置

如何修复页面位置,调整HTA窗口大小并不影响它?

我知道,可以使用最小宽度等,但HTA的布局正在改变大小和/或包装在角落。我想要的只是在调整大小后屏幕上直接显示相同的信息。那可能吗?

+0

对旋钮问题抱歉,但什么是HTA? – Ibu 2011-06-01 06:42:42

+0

@lbu:超文本终端应用程序:http://en.wikipedia.org/wiki/HTML_Application – KooiInc 2011-06-01 06:49:23

+0

查看Kooilnc的评论。 HTA在私人环境(无法通过互联网使用)上的优势在于通过HTML和CSS进行标记,并通过结合VBScript和Javascript实现代码灵活性。因此它是只读类型,所以用户可以打开并阅读报告,但仍可以创建(附加)报告。 – AutomatedChaos 2011-06-01 07:13:49

回答

1

您应该可以使用元素的scrollTop属性来知道某人在页面中向下滚动的距离。

使用包含div元素的onscroll事件记录每次滚动发生时该属性的值。

然后使用某种“调整大小后”事件将scrollTop属性设置为最后记录的值。我还没有跟踪哪个event这样做,但我相信有一些工作。

+0

这可能是一个解决方案。创意,但对于一个简单的问题似乎很麻烦。也许我可以找到MozAfterRepaint的IE版本。 – AutomatedChaos 2011-06-04 05:43:15

+0

不幸的是,因为页面存在很多元素(过去的继承),所以很难关注正确的元素。重构整个过程只是为了消除一个小小的烦恼,这是一个过度的桥梁。总之,这似乎是一个很好的答案,可以在一个更简单的情况下完美地工作,所以我给了你毕竟应得的信用。 – AutomatedChaos 2011-12-07 15:59:51

1

我建议你让hta窗口不可调整。

<HTA:APPLICATION ID="Roll" 
    APPLICATIONNAME="Roll" 
    BORDER="dialog" 
    MAXIMIZEBUTTON="no" 
    SCROLLFLAT="yes" 
    CAPTION="yes" 
    SELECTION="no" 
    INNERBORDER="no" 
    ICON="" 
    SCROLL="no" 
    SHOWINTASKBAR="yes" 
    SINGLEINSTANCE="yes" 
    SYSMENU="yes" 
    WINDOWSTATE="normal" /> 
+0

这样做,但不幸的是,它不是一个选项,因为我想'调整大小'作为一个功能。 – AutomatedChaos 2011-11-07 12:46:15

相关问题