我的工作最近决定对VB的使用不屑一顾,所以我被迫将我的所有旧代码转换为Javascript(并且只有Javascript)..我已经成功地重新编译了所有这些代码,除了这个根据我的代理使用的显示器高度调整工具大小的部分:
<script type="text/javascript">
window.onload = function resizePage() {
if (screen.height>=900)
{
window.resizeTo(455,820);
document.body.style.zoom="110%";
}
else
{
window.resizeTo(395,720)
}
}
</script>
有趣的是代码有效..令人讨厌的是它取消了我HTA中的所有其他javascript并使我的按钮完全无用。如果我摆脱这段特定的代码,一切都很完美,我不明白这是怎么或为什么会导致这样的问题。
我尝试了多种不同的方法来尝试让它工作,但似乎无法解决它。我也尝试在body标签中使用body.onload,但即使这会导致问题,因为它会让我的HTA完全空白。
对此的任何帮助将不胜感激!
感谢大家的帮助,你的所有代码都与调整器配合使用,但它取消了我的其他javascript也做了同样的事情。我想出了答案,但我对如何或为何如此有效感到困惑。我不认为这会对将来的任何人有所帮助,但如果有人对此结果感兴趣,我会发布。
我把它作为我的主要档案来实现:
<script language="VBScript">
</script>
<script type="text/javascript">
window.onload= function(){
if (screen.height>=900)
{
document.body.style.zoom="110%";
}
}
</script>
并在我的外部.js文件中:
if (screen.height>=900)
{
window.resizeTo(455,820);
}
else
{
window.resizeTo(395,720)
}
完全让我感到困惑的是,如果我删除我的VB绝对不会导致我的所有Javascript再次破坏。这让我大吃一惊,我想我将不得不处理这个恼人的作品,直到我完全重拍我的HTA。
再次感谢大家的帮助!
答案 0 :(得分:0)
试试这个:
<script type="text/javascript">
window.onload = function () {
if (screen.height>=900)
{
window.resizeTo(455,820);
document.body.style.zoom="110%";
}
else
{
window.resizeTo(395,720)
}
}
</script>
或者这个:
<script type="text/javascript">
function resizePage() {
if (screen.height>=900)
{
window.resizeTo(455,820);
document.body.style.zoom="110%";
}
else
{
window.resizeTo(395,720)
}
}
window.onload = resizePage;
</script>
您的代码将一个命名的函数对象分配给onload事件。如果我对JavaScript有更多了解,我可能会解释为什么它不起作用。
在我的第一个例子中,为onload事件分配了一个匿名函数,这是有效的。在第二个示例中,指向命名函数的指针被分配给onload事件。我无法解释为什么分配指针和分配函数本身并不等效。
答案 1 :(得分:0)
我认为使用onload时出错。尝试在window.onload之后删除函数名称,并执行以下操作:
<script type="text/javascript">
window.onload = function() {
if (screen.height>=900)
{
window.resizeTo(455,820);
document.body.style.zoom="110%";
}
else
{
window.resizeTo(395,720)
}
}
</script>