2009-11-10 210 views
0

我正在尋找一種方法來在其他網頁的div內顯示一個網頁。
我可以用CURL獲取網頁,但由於它有一個外部樣式表,當我嘗試顯示它時,它顯示沒有他所有的樣式屬性。
我記得facebook使用這種技術與共享鏈接(你曾經看到與Facebook標題鏈接的頁面) 做了一些不成功的jQuery測試,但我幾乎無法知道如何繼續..
我知道這個可以用框架完成,但我總是在這裏,這是一個很好的做法,以避免幀,所以我有點困惑
任何想法如何解決這個問題?在沒有框架的其他網頁裏面顯示網頁

回答

2

如果你想爲他們在該網站呈現顯示其他網站的內容究竟然後幀,在這種情況下,去最好的(最簡單的)的方式。

Facebook和Google都使用此技術來顯示網頁,同時將其品牌/導航欄保留在其他網站上方。

+0

感謝您的支持,將與框架解決方案一起使用。您是否偶然知道是否可以關閉「標題」框架,從而讓用戶保持原始頁面? – 2009-11-10 21:44:43

+0

@Yaniv你的意思是有可能可視化地包裝你的網頁關於其他網頁,而不是隻做一個標題橫幅?如果是這樣,那麼是的。我會建議查找iframe及其許多實現。 – 2009-11-10 21:55:52

+0

好吧,經過一段時間的調查看起來這是非常罕見的做法,因爲iframe不會根據其中的內容調整其高度。有一些解決方法,但是如果iframe內容來自iframe其他領域(這是我的情況)..無賴..將不得不再次考慮它 – 2009-11-11 00:39:17

1

我在猜測Facebook仍然使用iFrame,只是沒有邊框,並且在其外面放置了良好的標題。我猜測這是因爲如果外部頁面有自己的樣式表,很有可能你的樣式和樣式會發生衝突而不能正確顯示。

爲了樣式不衝突兩端一切都必須非常細緻,不只是一般的樣式應用到所有段落等...

1

我同意使用框架很可能是最好的解決辦法爲你解決問題。 但是如果您仍想避免使用框架並將其內容放入ID爲externalConent的div中,則可以使用與獲取其他內容相同的方式來請求樣式表,並使用「#externalContent」前綴它們中的每個規則。將這些樣式表保存到您的服務器並將其包含在您的頁面中。多一些定製,這應該工作。 我不得不承認這個解決方案確實聽起來很奇怪......呃,確實如此。 但它是我看到做你所要求的唯一方法。

+0

然後,你將不得不改變所有的HTML類引用..這似乎有點矯枉過正只是爲了顯示一個外部網頁。(曾經寫過一個HTML解析器和CSS解析器?) – Earlz 2009-11-10 21:28:34

+0

是的,這聽起來像一個很頭痛的:) iframe它會.. :) 謝謝 – 2009-11-10 21:42:28

0

如果您不能使用框架或iframe,嘗試:

  • 提取體內的HTML並將其插入到目標DIV
  • 在頭
提取和部分

雖然不是很乾淨,但它肯定會起作用,您可以使用這種技術將phpBB論壇插入另一個動態方式,例如查看http://www.clearerimages.com/forum/

相關問題