2012-12-19 50 views
1

我創造了這個HTA文件:爲什麼hta腳本不能從Internet Explorer菜單項運行?

<script type="text/javascript"> 
alert("alert!!!"); 
</script> 

而在IE中添加菜單項(如這裏所描述:http://msdn.microsoft.com/en-us/library/aa753591(v=vs.85).aspx)來運行它。我在ie中看到我的菜單項,我的菜單項的註冊表項中的腳本值指向了我的hta文件。那麼爲什麼當我按菜單項什麼都沒有發生(我看不到警報)。請幫我調試它。

+0

沒有HTA死在IE6或什麼?雖然我不確定。 –

+0

我只想添加項目,即菜單。在新選項卡或窗口中打開我的鏈接。我想知道如何做到這一點,而無需創建COM或其他東西。 – Dmitry

+0

我還沒有嘗試過,但我認爲'Script'文件應該是'.js'或者'.wsf'而不是'.hta'。 @Pekka HTA仍然活着,即使IE10也能工作:)。 – Teemu

回答

0

實際上,在MSDN頁面的末尾有一些yecril的說明。 Yecril說,document不像通常那樣可用。 document應該通過external.menuArguments來引用,這實際上似乎代表了當前的window對象。

alert()window的方法,所以我想你的腳本應該是這樣的:

<script type="text/javascript"> 
    var win = external.menuArguments; 
    win.alert("alert!!!"); 
</script> 

(我知道這是純粹的猜測,應該是相當一個評論,但我發現這之中太寬泛的評論。)

+0

其實我把文件擴展名從hta改成了htm,它開始工作。 – Dmitry

1

我將文件擴展名從hta更改爲htm,它開始工作。 )))

+0

有趣。你現在可以使用'document'來引用'document',還是需要Yecril的hack? – Teemu

+0

提醒(「alert !!!」);只是工作。而已。 IE 8。 – Dmitry

相關問題