1

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

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

“儿童俱乐部”

“时间是(时间)”

然后,我似乎没有得到这部分,说明状态:“有一个链接到新的 kidsnew.htm 页面,其中包含文本“转到儿童俱乐部”。使用 onClick 和 widow.location 打开 kidsnew.htm。在切换之前,应该使用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>
4

1 回答 1

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 -->

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

解决这个问题,你可能已经解决了你的问题。

于 2012-11-02T04:45:52.457 回答