2011-02-16 55 views
0

如果我的應用程序在iframe中加載,我想要提供不同的樣式表。我使用什麼javascript事件來執行此檢查,以及如何提供不同的樣式表?如何執行JavaScript函數以使用不同的樣式表?

編輯:

我試圖連線這對身體onLoad事件:

<script type="text/javascript"> 
     function checkFrame() { 
      if (window.top!=window.self) 
      { 
       // In a Frame or IFrame 
       document.write("<link rel='stylesheet' type='text/css' href='/custom/embedded'>"); 
      } 
      else 
      { 
       // Not in a frame 
       document.write("<link rel='stylesheet' type='text/css' href='/custom/standard'>"); 
      } 
     } 
    </script> 

,但它會顯示空白頁只樣式錶鏈接在裏面。

+0

謝謝大家,各位+1,以供您參考。 – AKWF 2011-02-17 13:31:47

回答

0

這裏就是我最後做,jQuery中。我太過於複雜了。

$(function() { 

    if (window.top!=window.self) { 
     // my css switcher 
    } 
} 
1

看着window.parent。如果它不是空的,那麼你在一個框架內。我不認爲有一個「事件」發生。

1

如果window.parent不是== null,那麼你在一個框架中。您也可以通過這種方式訪問​​關於包含頁面的信息。

你可以連接到身體onload事件。

1

我已經使用jQuery進行即時樣式表切換。我相信有一個純粹的JS平等。假設你<head>....</head>包含

<link type='text/css' rel='stylesheet' href='styles.php?theme=default' /> 

,那麼你可以重新載入你的CSS文件(或傳遞的值相同的CSS文件)這樣

$('link').attr('href','styles.php?theme=' + newTheme);