显示JavaScript是否已启用多行字符串

时间:2013-10-04 20:17:36

标签: javascript html noscript

我有一个网页,其中的内容主要通过javascript include(从其他服务器加载小部件)加载。

我们遇到的问题是,当客户查看该页面并且他们的浏览器已禁用javascript时,他们只会看到我们支持的html文本,这会让他们感到困惑。 (它说“点击上方输入我们的赠品!”,但没有什么可点击的)。

我可以执行<noscript>并使用一些通用文字说“启用javascript!”,但随后所有其他HTML加载和<noscript>文本都隐藏在页面上并且不清晰可见

我想让整个页面的HTML依赖于是否启用了javascript。我能想到的最简单的方法是将整个页面放在

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

这样,用户只有在没有启用javascript的情况下才能看到非常基本的HTML框架,否则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)。

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用双引号而不是单引号作为字符串,并使用\"或单引号替换html标记中的双引号?

答案 1 :(得分: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.";