2013-10-04 26 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

相关问题