首先,我不是要求任何人做我的作业。这一点的目的是编写一个简单的网页来熟悉javascript。它从名为“cards”的文件夹中生成并显示随机卡片。我完成了那部分。但是,当我把它提交给老师时,他给我发回了这个截图,主题是“任何想法?”
http://i38.tinypic.com/2wr3e2p.jpg
我在几台机器上测试了这个页面,它适用于每个浏览器。我不知道为什么它只是在运行时将代码打印到页面上。有什么想法吗? (我假设他会启用javascript,特别是因为我班上的每个人都提交了这个程序)。
编辑:这是代码,对不起,但我包含了一切只是为了清除任何问题
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Aaron's Gamble Page!</title>
<style type="text/css">
* { padding: 0; margin: 0; }
body
{
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
background: #48454C;
}
#wrapper
{
margin: 0 auto;
width: 365px;
}
#header
{
color: #333;
width: 365px;
padding: 10px;
margin: 10px 0px 0px 0px;
background: #A29EA2;
}
#centercolumn
{
color: #333;
padding: 10px;
width: 365px;
background: #DFE0DB;
}
#footer
{
width: 365px;
clear: both;
color: #333;
background: #A29EA2;
padding: 10px;
}
</style>
<script type="text/javascript" charset="utf-8">
// this page created by Aaron Albin
// creation date: October 17, 2009
var score = 0;
function generateCards()
{
var i, randType, randSuite;
var type = new Array("2", "3","4","5","6","7","8","9","t","j","q","k","a");
var suite = new Array("c","d","s", "h");
var cards = new Array(5);
for (i = 0; i < cards.length; i++)
{
cards[i] = setRandomCard(type, suite, cards);
document.write('<img src = "'+cards[i]+'">');
}
}
function setRandomCard(type, suite, cards)
{
var randType, randSuite;
var filePath = "file://C:/cards/";
var fileExt = ".gif";
do
{
randType = Math.floor(Math.random() * type.length);
randSuite = Math.floor(Math.random() * suite.length);
}
while(checkDuplicate(randType, randSuite, filePath, fileExt, type, suite, cards));
addScore(type, randType);
return filePath + type[randType] + suite[randSuite] + fileExt;
}
function checkDuplicate(randType, randSuite, filePath, fileExt, type, suite, cards)
{
var j;
for (j = 0; j < cards.length; j++)
{
if (cards[j] == filePath + type[randType] + suite[randSuite] + fileExt)
{
return true;
}
}
return false;
}
function addScore(type, randType)
{
switch(type[randType])
{
case "2":
score += 2;
break;
case "3":
score += 3;
break;
case "4":
score += 4;
break;
case "5":
score += 5;
break;
case "6":
score += 6;
break;
case "7":
score += 7;
break;
case "8":
score += 8;
break;
case "9":
score += 9;
break;
case "t":
score += 10;
break;
case "j":
score += 11;
break;
case "q":
score += 12;
break;
case "k":
score += 13;
break;
case "a":
score += 1;
break;
default:
score += 0;
}
}
</script>
</head>
<body>
<div id="wrapper">
<div id="header"></div>
<div id="centercolumn">
<h2>Gamble!</h2>
<br />
<p>Welcome to my gambling page. You have drawn</p><br />
<script type="text/javascript" charset="utf-8">generateCards();</script><br /><br />
<p>The value of this hand is <script type="text/javascript" charset="utf-8">document.write(score);</script>.</p>
<br />
</div>
<div id="footer"></div>
</div>
</body>
</html>
答案 0 :(得分:3)
您确定您的代码列在版权标记内吗?
<script type="text/javascript" charset="utf-8">
// your code goes here
</script>
这是我能想象的唯一原因
答案 1 :(得分:2)
您将其声明为XHTML。在XHTML中,解析每个标记的内容。所以&lt;和&gt;您的JavaScript中的标志可以分解页面。 (他们可以,这是我能看到的唯一错误的东西。)将你的javascript放入CDATA标签。 (请参阅http://www.w3schools.com/xmL/xml_cdata.asp)不幸的是,每个浏览器都无法正确解析,因此您必须(javascript-)对其进行评论才能使其正常工作。
<script type="text/javascript">
/* <![CDATA[ */
// code goes here
/* ]]> */
</script>
编辑:尝试http://validator.w3.org/,您会看到您的标记无效以及问题所在。添加CDATA标签可以解决问题,或者至少使代码有效。
答案 2 :(得分:0)
当您从IE中加载了一个本地页面,其中包含javascript,然后会出现一个警告栏,弹出“Active content has a disabled。点击此处启用活动内容”。 (或类似的规定)。与老师核实他是否看到了酒吧,没有看到它会暗示JS在某种程度上被禁用,无论是在浏览器中还是在他的本地机器上通过某种安全/防病毒。如果他确实看到了,请确保他点击以启用活动内容:)
很难从屏幕截图中看到是否存在某种错误,因为他狡猾地移动了窗口中出现错误图标的部分屏幕上的状态栏,但是我可以看到他安装了Firefox,所以请他看看你的页面。