2011-04-13 77 views
0

我有一個.aspx頁面,其中包含一個iframe。我正在從我的ssl服務器上繪製嵌入式頁面。當我嘗試使用JavaScript修改嵌入式頁面的字段時(我正在將數據放入隱藏字段中,以便我可以使用服務器端對客戶端進行身份驗證),我收到拒絕訪問消息。如果我在本地運行整個事情,我不會遇到任何問題,所以真正的問題是我必須在我的ssl服務器上更改哪些內容才能允許這些字段被更改?如何在iframe中訪問頁面中的字段?

的JavaScript真的是直截了當:

  window.frames["frame1"].document.forms['password_form']["username"].value = document.getElementById("username").value; 

和我說,從當我改變IFRAME SRC到SSL行爲以外...

這是一個預編譯的應用程序,我想知道如果這有所作爲。該頁面本身不是隻讀的。

謝謝,羅恩。

回答

1

Same Origin Policy禁止跨不同來源的文檔編寫腳本。協議(HTTP/HTTPS)是原點的一部分。因此,如果只有iframe位於HTTPS上,瀏覽器必須禁止在您的示例中訪問window.frames["frame1"].document

簡單的解決方案是爲主頁面和iframe使用HTTPS。

解決方法是可能的,但根據您的需要,它可能太麻煩:http://softwareas.com/cross-domain-communication-with-iframes(很長,但信息豐富的閱讀)。

+0

謝謝Jakub。上週我做了一點研究之後,我意識到自己實際上是在嘗試跨站點腳本編寫,這不是我的意圖。這是我老闆想要建立的方式!所以我最終在這裏要求...... – flavour404 2011-04-18 17:36:30

相關問題