2012-07-02 17 views
0

我有一個奇怪的問題。問題不在於代碼的細節,而在於一般方法。JavaScript網站歡迎使用HTML5元素的裝載器

場景:網站有一個「歡迎屏幕」。 welcome元素是HTML5 EDGE動畫(它不是一個小文件;))使用客戶端檢測,我們將檢查是否啓用了cookie。如果cookies被啓用,我們檢查一個cookie ['loader_shown']。如果我們沒有看到這個cookie,我們想使用JS來顯示全屏覆蓋div半透明。在這個div裏面,我們希望使用AJAX加載加載元素html - 目前這是在一個單獨的文件中定義的,並且當然可以在EDGE文件包中恢復其他文件...

任何關於如何最好地解決這個問題。重要的是HTML5 EDGE元素只在服務器加載時纔會被加載,一旦歡迎檢測已經成功覆蓋第一個覆蓋區域...

哦,EDGE元素必須保持透明!

+0

在大多數情況下使用jQuery。檢查一個cookie。 http://stackoverflow.com/questions/2824021/check-if-cookie-exists-if-not-create-it讓你開始。 –

+0

WTF是一個「HTML EDGE」動畫?當問問題顯示你寫的任何代碼,你已經採取的解決問題的步驟或者你已經看過的東西時,這很有幫助,所以我們不會停下你認爲不成功的路徑。提出這樣的一般問題並不能很好地利用這個論壇提供的Q&A類型格式。 – tkone

+0

@tkone抱歉.. EDGE示例在這裏:http://s404416203.domenaklienta.pl/html5_intro/005/ – Nick

回答

0

解決了。最好的辦法是動態加載JS文件一旦餅乾都被檢查:

來源的評論

<!DOCTYPE HTML> 

<html lang="en"> 

<head> 

<script type="text/javascript"> 

    var cookiesEnabled = are_cookies_enabled(); 

    function are_cookies_enabled()                 // http://sveinbjorn.org/cookiecheck 
    { 
     var cookieEnabled = (navigator.cookieEnabled) ? true : false; 

     if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) 
     { 
      document.cookie="testcookie"; 

      cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false; 
     } 
     return (cookieEnabled); 
    } 

    // http://www.hunlock.com/blogs/Howto_Dynamically_Insert_Javascript_And_CSS 

    if(cookiesEnabled == true) 
    { 
     var headID = document.getElementsByTagName("head")[0];   

     var newScript = document.createElement('script'); 

     newScript.type = 'text/javascript'; 

     newScript.charset = 'utf-8'; 

     //newScript.onload=scriptLoaded; // If you're loading an external javascript and you need to know when the script has loaded you can simply use .onload=yourfunction; to set up the onload handler. Here's an example. 

     newScript.src = '_loader/head3_C_213_no_preloader_edgePreload.js'; 

     headID.appendChild(newScript); 
    } 

</script> 

<style> 

    .edgeLoad-EDGE-614773 { 
     display:none; 
    } 

</style> 

</head> 

<body style="margin:0;padding:0;"> 

<h1>test</h1> 
    <div id="Stage" class="EDGE-614773"> 
    </div> 
</body> 

</html> 

從來沒有真正想過JS加載本身從這樣的劇本......哦可能性!