2010-10-25 23 views
0

我有一個頁面「foo.html」是通過AJAX 'ajax.html?options=option1'填充表(訪問數據庫。)如果不通過AJAX進行調用,如何包含CSS鏈接?

foo.html」有鏈接到它的CSS,使表從ajax.html好看。不過,如果直接訪問ajax.html,也希望使用css很好看。如果我添加<link rel="stylesheet" type="text/css" href="/dev/css/default.css" />,那麼AJAX會再次插入foo.html中的鏈接,這是我不想要的。有什麼辦法可以讓我的css鏈接代碼不顯示在AJAX調用中,或者只顯示在非AJAX調用中?

謝謝。

+0

您是否使用了特定的JS庫實現Ajax的? – 2010-10-25 17:25:31

+0

你的ajax調用正在返回html嗎? – madeinstefano 2010-10-25 17:36:05

+0

你的方法可能有缺陷。這聽起來像是在試圖將一個完整的網頁加載到另一個網頁中,這是不好的做法。最好有兩個版本的表格頁面:一個頁面可作爲單獨的頁面查看,頭部,主體,CSS和僅有

的一個版本。 – Blaise2010-10-25 18:22:14

回答

1

我能想到解決這個問題的一個簡單方法是傳遞一個額外的參數來定義調用上下文。

+0

非常明顯,謝謝。 – mna 2010-10-26 01:36:31

1

最簡單的方法是使用jQuery。

負載與jQuery.get() 上的成功,在ajax.html頁面做: 刪除樣式表:$('link[rel=stylesheet]').remove();

如果再要添加另一個樣式表:

var link = $("<link>"); 
link.attr({ 
     type: 'text/css', 
     rel: 'stylesheet', 
     href: 'http://domain.com/stylesheet.css' 
}); 
$("head").append(link); 

還是後來改變:

$("link").attr("href","http://domain.com/stylesheet.css");