1

私は現在、コミュニティ カレッジの JavaScript クラスに登録しており、次のようなページを作成することになっています。

「今日の日付は(日付)です」

"キッズクラブ"

「時間は(時間)です」

次に、この部分が理解できないようで、指示には次のように記載されています。切り替える前に、ナビゲーター オブジェクトとメソッドを使用して、ブラウザーの名前とバージョンをテストする必要があります。ブラウザーの名前とバージョンを警告ボックスに表示し、新しいページでより良い結果が得られる場合は、アップグレードするようユーザーにアドバイスします。ブラウザが古くなっています。kidsnew ページには、"kidsold.htm" ページに戻るための HTML フォーム ボタンが含まれている必要があります。"

そう。コードの最初の部分で確認できるブラウザ検証が必要になると思います。この章を読んでいるときに「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。これにより、2 桁の年の問題が回避されます。

> 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 に答える