Javascript在JS Fiddle中工作,但不在我的Dreamweaver环境中工作(通过浏览器Safari或Opera或Live View中的预览)
我在网上看到了这个脚本,并对它进行了轻微的修改,以定制的方式打印出当前的日期和时间。它在JS Fiddle中工作得很好,但在我的HTML文档中它没有任何作用。无论是在实时视图中,还是在Safari或Opera中预览页面时,它都不起作用。我已经检查了语法,一切似乎都很好。我正在使用dreamweaver CS5。我使用了一些我在W3学校发现的较短的脚本,它们工作得很好,但我对Javascript非常陌生,所以在我使用的较长脚本中可能缺少一些一般步骤?HTML文档如下所示:Javascript在JS Fiddle中工作,但不在我的Dreamweaver环境中工作(通过浏览器Safari或Opera或Live View中的预览),javascript,dreamweaver,Javascript,Dreamweaver,我在网上看到了这个脚本,并对它进行了轻微的修改,以定制的方式打印出当前的日期和时间。它在JS Fiddle中工作得很好,但在我的HTML文档中它没有任何作用。无论是在实时视图中,还是在Safari或Opera中预览页面时,它都不起作用。我已经检查了语法,一切似乎都很好。我正在使用dreamweaver CS5。我使用了一些我在W3学校发现的较短的脚本,它们工作得很好,但我对Javascript非常陌生,所以在我使用的较长脚本中可能缺少一些一般步骤?HTML文档如下所示: <!DOCTYP
<!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>
无标题文件
函数getCalendarDate()
{
var月数=新阵列(13);
月[0]=“一月”;
月[1]=“2月”;
月[2]=“三月”;
月[3]=“4月”;
月[4]=“五月”;
月[5]=“六月”;
月[6]=“7月”;
月[7]=“8月”;
月[8]=“九月”;
月[9]=“10月”;
月[10]=“11月”;
月[11]=“12月”;
var now=新日期();
var monthnumber=now.getMonth();
var monthname=月[月数];
var monthday=now.getDate();
var year=now.getYear();
如果(年份<2000){year=year+1900;}
var dateString=monthday+
' ' +
蒙特纳姆+
' ' +
年份;
返回日期字符串;
}
函数getClockTime()
{
var now=新日期();
var hour=now.getHours();
var minute=now.getMinutes();
var second=now.getSeconds();
var ap=“AM”;
如果(小时>11){ap=“PM”;}
如果(小时>12){hour=hour-12;}
如果(小时==0){hour=12;}
如果(小时<10){hour=“0”+小时;}
如果(分钟<10){minute=“0”+分钟;}
如果(秒<10){second=“0”+秒;}
var timeString=小时+
':' +
分钟+
':' +
第二+
" " +
ap;
返回时间串;
}
var calendarDate=getCalendarDate();
var clockTime=getClockTime();
window.onload=document.write(“”+”您在“+”+时钟时间+”的“+”+日历日期+”+“+”+”+”);
当我复制并粘贴您的代码,并在Dreamweaver、IE9和FIrefox中使用时,所有代码都出错了。我在IE9和Firefox的控制台中进行了检查,都在最后一行(document.write行)末尾的分号后面指出了一个非法字符。在检查上述代码的源代码时,我看到在最后一个分号之后有一个10“”字符的字符串(零宽度空格)。不知道他们是怎么做到的,但一旦我把他们从我的代码中删除,页面就开始在IE9、Firefox和Dreamweaver的Live View中工作
要做到这一点,我基本上必须选择尾随分号和开头<字符,删除它们并重新键入它们,以便删除零宽度空格字符
FWIW:Dreamweaver的“隐藏角色”节目没有显示这些角色。虽然在考虑它,不确定它将如何显示零宽度的东西,但如果有这样的字符的某种指示符,这将是很好的。我将在以下位置记录一个bug:请也这样做,记录它的人越多,实现它的机会就越大。FYI/您不需要将空格与字符串分隔开,这似乎很奇怪:
+'+'+'+'+'+'+
可以是+'at'+