2013-08-30 78 views
0

我已經嘗試了一段時間,並且我不知道這是否是我的搜索技巧,如果沒有人之前詢問過該問題,或者甚至有可能。由jQuery加載的內容load()修改父頁面的CSS樣式

當前我正在使用.load('path/to/file.php');加載文件,但我加載的文件繼承了其加載到的網站的所有樣式。

是否有可能加載文件,而不適應它正在加載到的網站的樣式?

​​api中沒有提到這個問題的選項,我設想在大多數情況下這不是問題。我的選擇是重新聲明包含文件的每個樣式元素,這是一項主要任務,對於這種情況似乎是不必要的。

+1

那是一個正常的行爲。加載用於加載部分內容,而不是刷新整個頁面。您加載的內容不應視爲獨立的內容,而應視爲您加載到的頁面的一部分(使用其樣式)。 –

回答

2

您的問題可能有一個簡單的解決方案。將內容加載到iframe中,我認爲它會將其與頁面的其餘部分相對於CSS樣式相隔離。

閱讀以下內容:How to apply CSS to iframe?

大多數人有相反的問題,他們希望家長造型適用於iframe內的內容,而你想要做的相反。

在這種情況下,您甚至可能不需要使用AJAX或jQuery load(),只需使用iframe中的src屬性鏈接到您的文件即可。

評論

你這裏是什麼嵌入內容,這是下iframe標籤部分HTML5規範中討論的情況。在這個應用程序中使用ifrmae標籤是非常合適的。

參考:http://www.w3.org/TR/html5/embedded-content-0.html#the-iframe-element

+0

謝謝。 iframe解決了我的問題,雖然這是一個骯髒的解決方案,然後它在我需要它的情況下非常好地工作。 – Freddy

+0

不!不髒,優雅!這是你需要解決這個問題。對規格有信心! –

2

CSS總會(根據課程的選擇)被應用到整個頁面。要做你要求的唯一方法是使用一個iframe,在這個iframe中你將以這種方式加載ajax頁面,這將是獨立的。

COULD的另一種工作方式是重置容器中的整個CSS定義,但容易出錯。