2013-10-04 27 views
0

我有一個網頁,其內容通常是通過javascript include(從另一個服務器加載小部件)加載的。如果已啓用JavaScript,則顯示多行字符串

我們遇到的問題是,當客戶瀏覽頁面並且瀏覽器禁用JavaScript時,他們只會看到我們支持的html文本,這會讓他們感到困惑。 (它說「點擊以上輸入我們的贈品!」,但沒有什麼可點擊)。

我可以做一個<noscript>,並有一些通用文本說「啓用JavaScript!」,但隨後所有其他HTML加載和<noscript>文本被掩埋在頁面上,並且不清晰可見。

我希望整個頁面的HTML取決於是否啓用javascript。我能想到的最簡單的方法,是讓整個頁面在

document.getElementById('someId').innerHTML = "<someTag>PageHTMLIncludingWidgetScript</someTag>"; 

通過這種方式,用戶將只能看到一個非常基本的HTML框架基本上如果沒有啓用JavaScript的他們,否則的JavaScript工作和填充與它的內容的div和小部件加載等。

我遇到了這個問題,我似乎無法像Java那樣獲取多行字符串。

<table> 
    <hr> 
    <tr> 
     <td> 
      <strong>Easy Ways To Enter:</strong> 
      <br/> 
      Entering one time unlocks additional entry opportunities! 
     </td></tr> 
     <tr> 
     <td> 
      <ul> 
       <li><a href="#giveaway" title="Scroll Down To Enter Giveaway">Via Email</a></li> 
       <li><a href="#giveaway" title="Scroll Down To Enter Giveaway">Via Facebook Connect (requires login)</a></li> 
      </ul> 
     </td> 
    </tr> 
</table> 

這是一個將從此加載的示例表。如果我把它串成一串串,那麼我必須用' +包圍每一行,這使得我們的普通員工可以很少編輯頁面。在java中,我可以使整個塊單個多行字符串(它將仍然有空格和製表符,但這是因爲它是HTML)。

回答

0

您是否嘗試過使用雙引號而不是單引號作爲字符串,並將html標記中的雙引號替換爲\"或單引號?

0

這樣的事情會起作用。

var string = "This is a long string that I am going to \ 
       continue on the next line by placing \ 
       a back slash at the end of the previous line."; 
+0

這種方法的問題在於頁面的html相當大,而且這是很多行來嘗試在每行之後添加(並保留)\。我正在尋找一種方法......如果可能的話...... – SnakeDoc

+1

爲什麼不使用2頁?首先是用戶看到'nojs.html'的那個,然後如果啓用javascript,則將它們重定向到javascript頁面。如果沒有,他們會留在'nojs.html'頁面,要求他們啓用它。 –

+0

這實際上並不是一個可怕的想法......我會做一些實驗...... – SnakeDoc

相關問題