2012-02-23 6 views
0

私はスクリプトをオンラインで見て、現在の日付と時刻をカスタマイズして印刷しました。それはJSフィドルhttp://jsfiddle.net/PVZZ8/でうまく動作しますが、私のHTML文書では何もしません。ライブビューやSafariやOperaでページをプレビューしても機能しません。私は構文をチェックして、すべてが良いようです。私はDreamweaver CS5を使用しています。私はW3 Schoolsで見つかったいくつかの短いスクリプトを使用していますが、うまくいきますが、私はJavascriptを初めて使っていますので、私が使用している長いスクリプトには何か一般的なステップがありませんか?私はコピーするとJavascriptはJS Fiddleで動作していますが、Dreamweaver環境では使用できません(ブラウザのSafariやOpera、またはライブビューのプレビュー経由)

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

FYI /あなたの文字列とは別のスペースを書く必要はありません、非常に奇妙なようです: '+' '+' '+' '' + '' '' ' –

答えて

1

とDreamweaver内だけでなく、IE9やFirefoxでそれより上と疲れたあなたのコードを貼り付けし、すべてのアウトエラーが発生した:HTMLドキュメントは、次のようになります。コンソールでIE9とFirefoxをチェックして、最後の行(document.write行)の最後にセミコロンの後に不正な文字が表示されました。上記のコードのソースを調べると、その最後のセミコロンの後に10文字の "&#8203"(ゼロ幅のスペース)があることがわかります。彼らがどのようにそこに行ったのか分かりませんが、コードから削除したページはIE9、Firefox、Dreamweaverのライブビューで作業を開始しました。

これを行うには、基本的に末尾のセミコロンと開始する<文字を選択して削除し、ゼロ幅の空白文字を削除するために再入力する必要がありました。

FWIW:Dreamweaverの「隠しキャラクターを表示」にこれらの文字が表示されませんでした。それについて考えると、とにかく幅がゼロのものがどのように表示されるのかはわかりませんが、そのような文字のインジケータがあれば良いでしょう。私はバグをログに記録します:http://adobe.ly/DWwish同様にしてください、より多くの人々はそれが実装されるより多くのチャンスをログに記録します。

関連する問題