2012-06-18 73 views
1

我有一個經典的ASP網頁,曾經工作......但網絡人員做了很多改變,包括將應用程序移動到運行iis 7.5的winodws 2008服務器。我們也升級到IE 9
我得到一個權限被拒絕錯誤消息,當我嘗試點擊以下鏈接:JavaScript失敗,權限被拒絕錯誤消息

<a href=javascript:window.parent.ElementContent('SearchCriteria','OBJECT=321402.EV806','cmboSearchType','D',false)> 

但是其他環節類似以下的工作就好了:

<a href="javascript:ElementContent('SearchCriteria','OBJECT=321402.EV806', 'cmboSearchType','D',false)"> 

區別在於失敗的鏈接位於iframe中。我注意到在其他帖子中,iframe內容是否來自其他域是有區別的。 就我而言,事實並非如此。但我從另一臺服務器通過執行以下操作獲取數據...

set objhttp = Server.CreateObject("winhttp.winhttprequest.5.1") 
    objhttp.open "get", strURL 
    objhttp.send 

,然後我改變實際的HTML我回來......添加一些超鏈接等,然後我把它保存到一個文件我本地服務器。 (保存爲* .html文件) 然後當我的頁面加載時,我查找特定的html文件並將其加載到iframe中。 我知道IE中的一些組策略選項已經改變......我正在研究這些更改。但是一個JavaScript鏈接起作用的事實讓我懷疑這個問題是否在其他地方...... ??? 任何建議,將不勝感激。

謝謝。

+0

最終從_browser的角度來看,IFrame的持有者和來自同一個權限的IFrame源的內容(權限是protocol:port // host /) – AnthonyWJones

+0

so ...對不起,你能不能擴展你的意思是? – dot

+0

訪問window.parent被拒絕的最常見原因是因爲父母內容來自的網站與IFrame內容來自的網站不匹配。這可能是因爲IFrame包含內容來自「http:// mysite.com」的父窗口中的「https:// mysite.com」內容。由於這些「權限」與IFrame中的代碼對window.parent對象的訪問不匹配。 – AnthonyWJones

回答

0

您可以嘗試使用Msxml2.ServerXMLHTTP而不是WinHttp.WinHttpRequest。 請參閱differences between Msxml2.ServerXMLHTTP and WinHttp.WinHttpRequest?以瞭解Msxml2.ServerXMLHTTP之間的區別。

論ASP這個方位的網站,你得到足夠的codesamples的關於如何使用Msxml2.ServerXMLHTTP這是最近的兩個: http://classicasp.aspfaq.com/general/how-do-i-read-the-contents-of-a-remote-web-page.html

關於IE9的問題:與舊的IE瀏覽器或連接PC另一個瀏覽器來測試瀏覽器是否是罪魁禍首。同樣在IE9中(或者在Firefox/Firebug中更好),使用開發工具(F12)並觀察iFrame加載內容時控制檯的錯誤。

您的獲取動態頁面的方法效率不高,恐怕ASP本身可以做到這一點,您可以使用例如div而不是iframe,並將內容替換爲您從請求中獲得的內容。我需要看到更多的代碼才能給出更好的建議。

+0

我沒有看到ServerXMLHTTP vs WinHttpRequest相關的問題? – AnthonyWJones

+0

好吧,他可以嘗試ServerXMLHTTP,但我會把更多的錢放在調試和改變他的呈現動態內容的方式 – peter

+0

我用另一個瀏覽器測試.. ..我們的GPO沒有執行。問題仍在發生。所以我想這不是瀏覽器。在ie 9調試中,它只是表示權限被拒絕。在Firefox中,它表示權限被拒絕訪問屬性'ElementContent'。我要去谷歌,看看我發現... – dot

相關問題