我在网上看到了这个脚本并略微修改了它,以自定义的方式打印出当前的日期和时间。它在JS Fiddle http://jsfiddle.net/PVZZ8/中运行良好,但在我的HTML文档中它没有做任何事情。它不能在实时视图中工作,也不能在Safari或Opera中预览页面。我检查了语法,一切似乎都很好。我正在使用Dreamweaver CS5。我使用了我在W3学校找到的一些较短的脚本,它们工作正常,但我对Javascript很新,所以也许在我使用的较长脚本中缺少一些常规步骤? HTML文档如下所示:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js">
</script>
<script type="text/javascript">
function getCalendarDate()
{
var months = new Array(13);
months[0] = "JAN";
months[1] = "FEB";
months[2] = "MAR";
months[3] = "APR";
months[4] = "MAY";
months[5] = "JUN";
months[6] = "JUL";
months[7] = "AUG";
months[8] = "SEP";
months[9] = "OCT";
months[10] = "NOV";
months[11] = "DEC";
var now = new Date();
var monthnumber = now.getMonth();
var monthname = months[monthnumber];
var monthday = now.getDate();
var year = now.getYear();
if(year < 2000) { year = year + 1900; }
var dateString = monthday +
' ' +
monthname +
' ' +
year;
return dateString;
}
function getClockTime()
{
var now = new Date();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
var ap = "AM";
if (hour > 11) { ap = "PM"; }
if (hour > 12) { hour = hour - 12; }
if (hour == 0) { hour = 12; }
if (hour < 10) { hour = "0" + hour; }
if (minute < 10) { minute = "0" + minute; }
if (second < 10) { second = "0" + second; }
var timeString = hour +
':' +
minute +
':' +
second +
" " +
ap;
return timeString;
}
var calendarDate = getCalendarDate();
var clockTime = getClockTime();
window.onload = document.write('<p>' + 'Your fortunes as of' + ' ' + calendarDate + ' ' + ' ' + 'at' + ' ' + clockTime + '</p>');
</script>
</head>
<html>
<body>
</body>
</html>
答案 0 :(得分:1)
当我复制并粘贴上面的代码并在Dreamweaver中以及在IE9和FIrefox中累掉它时都会出错。我在控制台中检查了IE9和Firefox,并且在最后一行末尾的分号后面都指出了一个非法字符(document.write行)。在检查上面代码的源代码时,我看到在最后一个分号后面有一个10“&amp;#8203”字符串(零宽度空格)。不确定他们是如何到达那里的,但是一旦我从代码中删除它们,页面就开始在IE9,Firefox和Dreamweaver的实时视图中工作。
要做到这一点,我基本上必须选择尾部分号和开头&lt;字符,删除它们并重新键入它们以删除零宽度空格字符。
FWIW:Dreamweaver的Show Hidden Characters没有显示这些字符。虽然考虑过它,但不确定它是如何显示零宽度的东西,但如果有这样的角色的某种指示器会更好。我将在http://adobe.ly/DWwish上记录一个错误,也请记录错误,记录的人越多,实施的机会就越多。