2016-02-25 64 views
3
Option Explicit 
Dim output, ProxyEnable, ProxyServer, wshShell, doc 

Sub Window_onLoad 
    loadProxySettings() 
End Sub 

Set wshShell = CreateObject("WScript.Shell") 
ProxyEnable = wshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable") 
ProxyServer = wshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer") 

Function loadProxySettings() 
    If ProxyEnable = 1 Then 
     proxyStatus.className = "enabled" 
     proxyStatus.innerHTML = "Proxy aktiv" 

     toggleProxyButton.value = "Proxy deaktivieren" 

     proxyServer.value = ProxyServer 
    Else 
     proxyStatus.className = "disabled" 
     proxyStatus.innerHTML = "Proxy deaktiviert" 

     toggleProxyButton.value = "Proxy aktivieren" 

     proxyServer.value = ProxyServer 
    End If 
End Function 

只是找不到爲什麼這是給我的錯誤的問題:的VBScript對象所需

Object required "ProxyStatus"

(是的,我有與proxyStatusid一個span元素)

+1

'Set doc = document'似乎將'doc'設置爲等於未初始化的東西。 –

+0

嗯試了一下,但仍然是相同的。那就是爲什麼我這麼激怒..hmm謝謝你 – Steve

+0

編輯你的代碼來顯示什麼'doc'設置等於。 –

回答

1

回去this code

Set ProxyStatus = document.getElementById("proxyStatus") 
Set ToggleProxyButton = document.getElementById("toggleProxy") 
Set ProxyServerInput = document.getElementById("proxyServer") 

唯一的錯誤作爲HTML正確形成的是使用Set當您只是引用DOM中的現有對象時。嘗試從這些行中刪除這樣的Set;

+1

謝謝,解決了這個問題,謝謝你們! – Steve

0

在HTA中,您可以使用變量的ID'd元素的ID,即如果您有這樣的元素:

<p>foo <span id="proxyStatus">something</span> bar</p> 

你應該能夠在你的代碼像這樣使用它,而不必首先做任何事情:這裏只要

MsgBox proxyStatus.innerText 
+0

謝謝你..我知道,但它也不起作用..仍然是一樣的,似乎getElementById沒有找到DOM中的元素.. – Steve

+0

@steve如果它沒有找到DOM元素,它可能不會將HTML視爲有效的結構,請嘗試驗證HTML。 – Lankymart

+1

您是否刪除了'getElementById()'語句,因此它們不會弄亂現有變量?您的HTML包含框架或iframe? –