2009-12-24 81 views
3

我有一個div是一個iframe中包含來自外部HTML股利在IFRAME是從IFRAME本身

<iframe src="test.html"> 

基於「上下文菜單」必須在iframe中,但HTML頂部的HTML上下文菜單的代碼位於iframe本身中。純粹的CSS解決方案是首選。

回答

5

iframe的內容無法顯示在iframe之外。在iframe中,您可以使用「position:absolute」和「z-index:1000」(或其他適當的大數字)將div顯示在其他元素上。請注意,絕對定位的元素將從文檔流中移除。該位置可以使用「頂部」,「左側」,「右側」和「底部」CSS屬性進行設置。

0

只要兩個框架在同一個域中,就可以使用Javascript將DOM元素移動到父框架(window.parent.document.appendChild(...))。我已經完成了這個工作。這很麻煩,你必須自己決定是否值得。

請務必查看bobince對以下問題的評論,瞭解如何操作。

不要忘記孩子框架的樣式表不適用於菜單,只要您將其移動到父級。

+0

我們在兩個不同的域上成功執行了類似的事情,但它有點複雜。 – 2009-12-24 16:22:43

+0

我想過提出這個建議,但是我個人覺得這是一個破解。如果內容顯示在iframe範圍之外是很重要的,那麼它不應該放在iframe中。這將是一個聰明的解決方案,但如果它是唯一的解決方案.- – CalebD 2009-12-24 16:22:56

+0

我認爲這是唯一的解決方案,並且問題看起來像我的邊界案例(如下拉菜單或上下文菜單)。如果你通過DOM來回移動,那麼如果它完全需要用戶界面,那麼它是一半的乾淨和合法的解決方案。 – 2009-12-24 16:49:12

0

你真的重複了典型的「Ajax」功能,因爲它已經被許多框架(如jQuery)抽象出來了,你不可能做得更好,我會給它一個鏡頭。不要重新發明輪子。

您可以找到great example here

$("#links").load("/Main_Page #jq-p-Getting-Started li");