2012-02-18 173 views
0

我有一個AJAX/Javascript密集網頁,並且正在嘗試使用<noscript>標記創建該網站的靜態版本。不顯示標記元素

問題:<noscript>標籤內的元素顯示不出來,而是有什麼屏幕上的是什麼留下的(非功能)接口爲原AJAX/JS的網站。看起來<noscript>的內容隱藏在原始界面的div下。

如何隱藏<noscript>部分以外的所有內容,並只顯示<noscript>的內容?

HTML結構

<body> 
    <div id="user_interface"></div> 
    <div id="javascript_portion"></div> 
    <noscript> 
     <p>Some static content</p> 
    </noscript> 
</body> 

回答

3

可以分兩步完成:

1)#user_interface#javascript_portion組CSS來display:none

2)設置displayblock爲同一選擇在JS

+0

或者只是把'顯示:在其自己的樣式表none' CSS和換行樣式表中''

0

您可以添加顯示:無使用CSS你javascript_portion股利。然後使用Javascript刪除它。這種方式的JavaScript部分將只顯示如果JavaScript正在工作。

0

地方如何寫其他帶有Javascript的內容,如:

<body> 
    <script type="text/javascript"> 
    document.write('<div id="user_interface"></div>'); 
    document.write('<div id="javascript_portion"></div>'); 
    </script> 
    <noscript> 
    <p>Some static content</p> 
    </noscript> 
</body> 
0

noscript標記就像一個else部分;如果您有腳本,請在xxx中執行noscript標記中的內容。

嘗試是這樣的(我使用jquery以下):

<body> 
    <div id="withScriptBody" style="display:none"> 
    ... all stuff that requires java script here. 
    </div> 
    <noscript> 
    ... all noscript stuff here 
    </noscript> 
    <script> 
    $(document).ready(function() 
     { 
     $("#withScriptBody").css("display", "block"); 
     }); 
    </script> 
</body>