使用链接打印日期和时间的JavaScript将无法使用

时间:2012-11-02 02:13:08

标签: javascript date browser printing time

我目前正在社区大学注​​册一个JavaScript课程,我们应该创建一个包含以下内容的页面:

“今天的日期是(日期)”

“儿童俱乐部”

“时间是(时间)”

然后,我似乎没有得到这一部分,指示说:“有一个链接到新的kidsnew.htm页面,其中包含文本”Go To Kids Club“。使用onClick和widow.location打开kidsnew热媒。 在切换之前,您应该使用navigator对象和方法来测试浏览器的名称和版本。使用警告框显示浏览器的名称和版本,如果浏览器已过期,建议用户使用新页面升级以获得更好的结果。 kidsnew页面应包含一个HTML表单按钮,可以将您带回“kidsold.htm”页面。“

因此。我假设我需要浏览器验证,您可以在代码的第一部分找到。我没有得到我应该使用的其他东西,因为我们没有被告知章节中的“onClick”方法正在阅读。任何人都可以帮我改进代码,让它显示如上所述?我认为,我做的大部分都是正确的;

这是我的代码:

<html>
<head>
<title>Kids Club</title>
<script type = "text/javascript" src = "brwsniff.js"></script>
<script type = "text/javascript">
<!-- hide me from older browsers>


//==============================Browser Info=================================
var browser_info = getBrowser();
var browser_name = browser_info[0];
var browser_version = browser_info[1];
var this_browser = "unknown";
if (browser_name == "msie")
{
if(browser_version < 5.5)
{
this_browser = "old Microsoft";
}
else
{
this_browser = "modern";
}
}
//end

if (browser_name == "netscape")
{
if (browser_version < 6.0){
this_browser = "old Netscape";
else
{
this_browser = "modern";
}
} //end

</script>

//=========================End Browser Info============================

//==========================Start Date Script============================
var date = new Date();
//new is keyword for object Date
//
//getting info from object Date
//
var month = date.getMonth();
var day = date.getDate();
var year = date.getYear();
var hour = date.getHours();
var minutes = date.getMinutes();
//january is month 0, think of arrays
//
month = month + 1;
//fix y2k
//
year = fixY2k(year);
//fix minutes by adding 0 infrotn if less than 10
//
minutes = fixTime(minutes);
var date_string = month + "/" + day + "/" + year;
var time_string = hour + ":" + minutes;
var date = "Today is " + date_string";
var time = "The time is " + time_string;

//y2k fix
//
function fixY2k(number) {
if (number < 1000){
number = number + 1900;
return number;
}
//time fixer
//
function fixTime(number){
if(number < 10) {
number = "0" + number;
}
return number;
}
//========================End Time Script==================================

// show me -->
</script>
</head>
<body>
<script type = "text/javascript">
<!-- hide me from older browsers
document.write(date);
</script>
//show me -->

<h1>Kids Club</h1>
<script type = "text/javascript">
<!-- hide me from older browsers
document.write(time);
</script>
//show me -->


</body>
</html>

1 个答案:

答案 0 :(得分:0)

一些意见:

> <script type = "text/javascript">
> <!-- hide me from older browsers>

这是垃圾,HTML评论分隔符从不需要隐藏脚本元素内容,只需删除它们。

> var year = date.getYear();

您应该使用getFullYear方法,它可以避免两位数的年份问题。

> var date = "Today is " + date_string";

无需再次声明date。它没有害处,只是没有必要。 date最初是一个Date对象,现在它是一个字符串。这不是很好的编程风格,只需修改现有的date_string,例如

date_string = "Today is " + date_string";

在页面正文中:

> <script type = "text/javascript"> 
> <!-- hide me from older browsers
> document.write(date); 
> </script>
> //show me -->

请注意,注释分隔符在script元素内部开始,然后在其外部完成。所以浏览器留下了无效的HTML,接下来发生的任何事情都是纠错的结果(对于下一个脚本元素也是如此)。

修复此问题,您可能已经解决了问题。