HTML <noscript>标记不起作用

时间:2015-12-11 19:41:42

标签: html

根据定义&lt; noscript&gt; 应该在Javascript被禁用时显示其中的文本。

&#xA;&#xA;

我使用IE11并禁用JavaScript看到一个空白页面根本没有消息。

&#xA;&#xA;
 &lt; head&gt;&#xA;&lt; noscript&gt; Javascript被禁用!&lt; / noscript&gt ;&#xA;&lt; script&gt; document.getElementById(“demo”)。innerHTML =“Script Enabled”;&lt; / script&gt; &#xA;&lt; / head&gt;&#xA;&lt; p id =“demo”&gt;试验&LT; / p为H. &#xA;  
&#xA;&#xA;

我错过了什么吗?

&#xA;

4 个答案:

答案 0 :(得分:1)

根据您上面告诉我们的内容,您似乎已输入/使用了正确的语法。

我在Chrome 47中尝试过它并且工作正常,可以在不同的浏览器中尝试并看到您的结果或确保您实际上已关闭JavaScript。

示例:

int* b = new int(5);
int** a = new int*(b);

decltype(*a) c = *a;
cout << *c<< endl;

来自W3Schools - here

你也可以这样做:

public static void main(String[] args)
{
    String[] words =
    {
        "javascript", "declaration", "object", "program", "failing"
    };
    //generate random word from list
    Random rnd = new Random();

    String rndWord = words[rnd.nextInt(words.length)];

    //gets length of generated word
    char[] displayArray = new char[rndWord.length()];
    //displays "_" for number of chars in word
    for (int i = 0; i < rndWord.length(); i++)
    {
        displayArray[i] = '_';
    }

    char[] alphabet =
    {
        'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
        +'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
        +'x', 'y', 'z'
    };
    String hangman
            = "Let's Play Hangman!!" + "\n"
            + "-------------" + "\n"
            + "|" + "\n"
            + "|" + "\n"
            + "|" + "\n"
            + "|" + "\n"
            + "|" + "\n"
            + "|" + "\n"
            + "|" + "\n"
            + "|" + "\n"
            + "\n" + Arrays.toString(displayArray) + "\n"
            + "       ";

    JOptionPane.showMessageDialog(null, hangman + " "
            + Arrays.toString(alphabet) + " ");
}

//get letter
public static char guess()
{
    String guessStr = JOptionPane.showInputDialog("Enter a letter to guess: ");

    // check if have at least one letter
    if (guessStr.length() > 0)
    {

    }
    char guessChar = guessStr.charAt(0);
    return guessChar;
}

//remove guess from alphabet
private char[] getCharArray(char[] array)
{
   //this is the part I'm not sure about
}
<script>
document.write("Hello World!")
</script>
<noscript>Your browser does not support JavaScript!</noscript>

答案 1 :(得分:1)

如果javascript被禁用,您的页面将为我工作:它会在顶部打印“javascript is disabled”消息。

但如果我启用它,则不会更改“测试”文本,因为脚本在页面加载之前执行。即使已加载,也没有<body>,因此document.getElementById将返回null

工作修正可能是这样的:

<!doctype html>
<html>
<head>
<noscript>Javascript is disabled!</noscript>
<script>window.onload=function(){document.getElementById("demo").innerHTML="Script Enabled";}</script>
</head>
<body>
<p id="demo"> Test</p> 
</body>
</html>

答案 2 :(得分:1)

您应该将noscript标记放在body标记

答案 3 :(得分:0)

<script>标签的位置存在问题,而<noscript>abc</noscript>标签的位置存在问题。

A)为使<script>标签正常运行,它应在正文之后而不是正文之后运行。 (或者,如果放在主体之前,则需要一些额外的代码,以确保它等待窗口或DOM加载,即littlesanti对window.onload所做的操作)

B)为使<noscript>abc</noscript>标签正确运行,它们应该在正文中,因为它们包含文本。