讀取 HTML 應用程式位置物件的屬性時發生許可權遭拒錯誤
警告
已淘汰、不受支援的 Internet Explorer 11 傳統型應用程式已於特定 Windows 10 版本透過 Microsoft Edge 更新永久停用。 如需詳細資訊,請參閱 Internet Explorer 11 傳統型應用程式淘汰常見問題集 (英文)。
本文提供許多方法,讓您解決當您讀取 HTML 應用程式內 Location 物件的屬性時所發生的許可權 遭拒 錯誤訊息 (HTA) 。
原始版本: Ie
原始 KB 編號: 816885
徵狀
當您讀取 HTML 應用程式內 Location 物件的特定屬性 (HTA) 時,您可能會收到權 限遭拒 錯誤訊息。 Location 物件的相關屬性包括:
- Location.href
- Location.hostname
- Location.reload
注意事項
只有當您在 Microsoft Internet Explorer 的局域網路 (LAN) 設定中使用自動設定腳本時,才可能會注意到此錯誤。
如果您的電腦上已安裝偵錯工具,您可能會收到下列錯誤訊息:
發生運行時錯誤。 您要偵錯嗎? 第 12 行錯誤:許可權遭拒
如果您的電腦上未安裝偵錯工具,您可能會收到下列錯誤訊息:
此頁面上的腳本發生錯誤。 行:13 字元:2 錯誤:許可權遭拒代碼:0 URL:
http://WebServer/FileName.hta
您要繼續在此頁面上執行腳本嗎?
注意事項
只有在您的自動設定文稿具有 DIRECT 值時,您才會注意到這個問題。
解決方案
若要解決此問題,請使用下列任何方法:
注意事項
下列方法是以本文重現行為步驟一節中所述的範例為基礎。 因此,這些方法中的程式代碼和檔名可能會與您的程式代碼和檔名不同。
- 在 Internet Explorer 的 Proxy 伺服器設定中硬式編碼 Proxy 伺服器,而不是使用自動組態腳本,然後按 F5 在瀏覽器中重新整理 HTA。
- 使用主機名,而不是完整功能變數名稱 (FQDN) 來存取 HTA 的路徑。
- 使用IP位址來存取HTA。
- 將您要存取的網站新增至 [信任] 區域或 [限制] 區域。
- 請勿在程序代碼中使用Location物件。
- 按兩下即可清除 Internet Explorer 安全性設定中的 [ 包含略過 Proxy 伺服器的所有網站 ] 複選框。
重現行為的步驟
啟動 Internet Explorer。
按一下 [工具] 功能表上的 [網際網路選項]。
在 [Connections] 索引標籤上,按兩下 [LAN 設定]。
在 [ 局域網络 (LAN) 設定 ] 對話框中,按兩下以選取 [ 使用自動設定腳本 ] 複選框。 請確定未選取其他複選框。
在 [ 位址] 方 塊中,輸入自動設定腳本的路徑。
使用記事本建立名為 Default.hta 的文字檔。
將下列 HTML 程式代碼新增至 Default.hta 檔案:
<html> <head> <title>HTA Location.href bug reproduction</title> <HTA:APPLICATION ID="oBugRepro" APPLICATIONNAME="BugRepro"> <SCRIPT LANGUAGE="JavaScript"> function ShowFrame() { var strLocation; strLocation = top.fraTabs.location.href; } </SCRIPT> </head> <frameset id="fstWorkAreaMain" name="fstWorkAreaMain" rows="40%,60%"> <frame src="about:blank" id="fraTabs" name="fraTabs" APPLICATION="yes"> <frame src="Main.htm" id="fraMain" NAME="fraMain" APPLICATION="yes"> </frameset> </html>
使用記事本建立名為 Main.htm 的文字檔。
將下列 HTML 程式代碼新增至 Main.htm 檔案:
<HTML> <BODY style="background-color:gainsboro"> <P>Main frame</P> <input id="cmdButton" type="button" onclick="top.ShowFrame()" value="Click me to reproduce the behavior"></input> </BODY> </HTML>
將 Default.hta 和 Main.htm 這兩個檔案放在網頁伺服器上名為 HTARepro 的虛擬目錄中。
請確定您已啟用 HTARepro 虛擬目錄內容的匿名存取。
在命令提示字元中輸入下列命令:
mshta.exe http://WebServer/HTARepro/Default.hta
注意事項
將取代
WebServer
為您所使用 Web 伺服器的 FQDN。在 HTA 應用程式上, 按兩下 [我] 以重現行為。 您會收到本文一節中提及的其中一則錯誤訊息。
參考資料
如需詳細資訊,請參閱 ) 的 HTML 應用程式 (HTA 簡介 。
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: