2011-07-02 60 views
1

我有一個頁面在iframe中顯示不同的網站(比如www.cnn.com)。(HTML/javascript)處理跨域iframe

我想要的所有內容都是在父窗口中打開iframe中的鏈接,而不是在框架內打開。

我知道這通常是不可能的,出於安全原因,這對我很有意義。但是,我正在處理的頁面不會公開,而只會在我的私人計算機上公開,如果我必須關閉某些安全功能才能使其工作,那就沒問題。

有沒有什麼辦法可以做到這一點?

我一直在梳理整個網絡的解決方案。如果我在這裏或其他地方錯過了一個帖子,請將它指向我。

我在Firefox(我正在使用)閱讀它,如果腳本是「簽名」(或特定的配置條目發生更改),可以在JavaScript中獲得擴展權限。但是,我不知道如何利用這些擴展權限來達到我的目的......任何提示?

我也會考慮不同的方法,例如,根本不使用iframe。無論採用哪種方法,我都希望能夠在一頁內嵌入幾個我無法控制的網站。在任何嵌入式網站中點擊的鏈接都應該在父窗口中打開。這本應該是我自己的方便工具。我應該說,我基本上沒有JavaScript的知識,只是在幹中學。如果你可以自信地說任何客戶端方法都不可能實現我想要的功能,那也是有幫助的。我想這樣做會很直接,比如說與PHP,但我不想設置一個Web服務器,如果沒有必要。感謝您的任何提示!

回答

1

這有點不同於您所要求的解決方案,但可能是更好的方法來解決問題,因爲它可以讓您在不損害任何正常的Web安全性的情況下尋找您的能力。

我不知道Greasemonkey(適用於Firefox和其他瀏覽器的附件)可能對您有用,因爲它允許您針對其他頁面運行本地JavaScript以在本地修改它們,而不管正常的安全限制如何。所以,你可以運行CNN頁面中的所有鏈接,並修改它們,如果這是你需要做的。

要使用它,您需要將Firefoxmonkey加載項安裝到Firefox中,編寫一個腳本,以您想要的方式修改CNN.com,將該腳本安裝到Greasemonkey中,然後將該腳本定位到網頁CNN。 COM。我認爲它應該在該網站上工作,無論它是否在iframe中,但是如果需要,腳本可能會檢測它是否在iframe中。

+0

謝謝,Greasemonkey的是一個好主意!我會試試看。 – Matt