2011-01-31 104 views
1

我正在使用iframe嵌入來自其他網站的內容。 iframe中的按鈕會打開一個帶有表格的疊加層。問題是點擊該按鈕時,疊加層無法完全打開。問題不是來自疊加層,而是來自iframe和父層。Iframe問題和覆蓋

我正在測試的網站是www.sycotickets.com/form.php。你可以檢查它並點擊底部的按鈕來查看問題。我也學會了javascript可以用來嵌入。任何人都可以請我在這兩個問題上正確的方向?

+0

是什麼瀏覽器,你在測試領域?在Firefox中,「您希望看到什麼功能」在我的屏幕底部隱藏了一半... – Basic 2011-01-31 22:25:22

+0

我正在使用谷歌瀏覽器 – sammville 2011-01-31 22:49:21

回答

0

使用AJAX時有2個可能的答案從不同的服務器

1)兩個服務器都處於類似的結構域(s1.example.coms2.example.com),在這種情況下,你可以設置域名僅僅是example.com允許全部功能withing AJAX調用加載頁面的內容。

2)服務器位於完全不同的域 - 提供內容的服務器(當前爲IFrame)必須使用JSONP協議提供數據(注意P!),這意味着結果數據將被加載到腳本標記中然後執行。數據本身包含一個JS函數調用如:

{data: '<pre>Some Html</pre>'} 

實際上返回:

function SomeFuncNameSpecifiedInTheRequest({data: '<pre>Some Html</pre>'}); 

而不是做一個AJAX調用,您可以動態腳本標記添加到頁面中,是這樣的:

<script type="text/javascript" src="http:/www.example.com/GetMyData.php?WrapperFunction=SomeFuncNameSpecifiedInTheRequest"> 

然後,您在頁面上實施SomeFuncNameSpecifiedInTheRequest,並在調用結果時處理結果。 JQuery的自動爲您實現此功能(至少在客戶端位)。

更多信息,請參閱here關於JSONP更多的信息和here上設置

0

沒有什麼可以做的。如果它是從外部站點加載的,瀏覽器會阻止您作爲開發人員訪問其他站點並修改它們以嘗試和阻止XSS攻擊。你可能嘗試通過移動iframe動態地將它移動到你想要的位置並覆蓋黑色點擊你的末端......但是這看起來非常糟糕...

+0

這兩個網站都是我的!該網站提供和我正在使用的網站進行測試。覆蓋從另一個站點加載,但是當我將它嵌入到另一個頁面時效果不佳。 – sammville 2011-01-31 21:23:58