2014-11-04 65 views
0

我的工作最近决定对VB的使用感到fr so不安,所以我不得不将所有旧代码转换为Javascript(并且只有Javascript)。我已经成功地重新编译了所有代码,除了这一块该调整大小以关闭显示器高度的我的工具,我的代理使用:为什么我的window.onload代码取消了我的其他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> 

有趣的是,该代码工作..恼人的是,它取消了我所有的其他JavaScript在我的HTA和品牌我的按钮完全没用。如果我摆脱了这段特定的代码,一切都很完美,我不明白这是如何或者为什么会导致这样的问题。

我尝试了多种不同的方式来尝试使这个工作,但似乎无法解决它。我也尝试在body标签中使用body.onload,但即使这样也会导致问题,因为它会使我的HTA完全变为空白。

任何帮助,将不胜感激!

谢谢大家的帮助,你所有的代码都可以和resizer一起工作,但是它取消了我的其他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

嗯,你没有'window.onload'两个不同的东西在那里,你呢? – 2014-11-04 02:30:21

+1

将调整大小的代码(不是放大缩小)放在'HTA'标签前的'head'内。这样你的应用程序打开已经调整大小,用户根本不需要看到原始的窗口大小。 – Teemu 2014-11-04 06:03:16

+0

不,这是我唯一的window.onload函数。尽管Teemu,这是一个很好的提示,谢谢。 – 2014-11-05 00:24:40

回答

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事件。我无法解释为什么分配指针和分配函数本身并不相同。

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> 
+0

我相信你是对的,但我尝试了阿纳金的代码,并且无法按照他发布的方式打破其他JS。我会有兴趣看看他回报什么。 – 2014-11-04 02:18:38

相关问题