• 締切済み

ブラウザの履歴がおかしくなります。

現在、アクセスログ解析を作成しておりまして、 解析対象ページ内において何秒間閲覧したかを 確認したくjavascriptで閲覧時間を拾い、それを 解析用のcgiに渡すよう処理しています。 ・main.html <html> <head> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <script language=JavaScript> start_time = 0; end_time = 0; use_time = 0; start_time=(new Date()).getTime(); window.onunload=time_out; function time_out(){ end_time=(new Date()).getTime(); use_time=(end_time-start_time)/1000; alert(use_time+'秒閲覧しました'); var link = document.referrer; document.write("<img src='./log.cgi?file=main2&link="); document.write(link); document.write("&stayed="); document.write(use_time); document.write("' height='1' width='1' border='0'>"); }; </script> </head> <body> mainpage<br> <a href="http://yahoo.co.jp/">YAHOO!へGO</a> </body> </html> このようにjavascriptを書きました。閲覧時間は取得 出来たのですが、リンク先にページジャンプして、ブラ ウザの「戻る」でmain.htmlに戻り,もう一度「戻る」と ブラウザから「進む」先がなくなり、main.htmlに戻れ なくなってしまいます。 上記javascriptに問題があれば教えて頂けませんか? ブラウザはIE4.0を使用しております。 長くなりすいません。よろしくお願い致します。

みんなの回答

  • TMEspion
  • ベストアンサー率27% (5/18)
回答No.2

No.1さんの仰るように、最終的に「進む先が無くなる状態」で表示されるページがどこなのかわかりません。 質問文を読んだ限りでは ■A 進む先が無くなるページ  ↑戻る ■B main.html  ↑戻る ↓リンクでジャンプ ■C リンク先ページ という経路を辿っているようですが、A地点のページについての説明が一切無いので、補足お願いします。

  • ytk923
  • ベストアンサー率0% (0/2)
回答No.1

すみませんが・・・質問がよくわからないので勝手に解釈させてもらいます。 もう一度戻るとは一体どこへ「戻る」のでしょうか? 私のPC上で動かしてみたのですが、まずリンクをクリックしてリンク先へジャンプ。 ブラウザの「戻る」でmain.htmlへ戻る。 と、この段階でブラウザでは「進む」しか表示されませんよね??? ここからもう一度リンクでジャンプしてもブラウザではきちんと戻るが表示されましたし、mainへも戻れました。 使用しているのはIE5.01SP2です。 もし、間違っていたら手順をもう少しくわしく教えてください。

関連するQ&A

  • frameとJavaScriptの共存

    <html><head><title> INDEX.HTML </title></head> <frameset rows="70%,*"><frame src="./main.html" name="MAIN"><frame src="./menu.html" name="MENU"></frameset></html> の中に下記のJavaScriptを埋め込みたいのですが どうすればいいのでしょうか? <SCRIPT Language="JavaScript"> <!-- document.write("<img src='http:/xxx/acclog.cgi?"); document.write("referrer="+document.referrer+"&"); document.write("width="+screen.width+"&"); document.write("height="+screen.height+"&"); document.write("color="+screen.colorDepth+"'>"); // --> </SCRIPT> Java Scriptを埋め込んだらフレームが正常に働かなくなりました。 どのようにすればいいのでしょうか?アクセス解析なのでindex.html に設置したいのですがいいアドバイスよろしくお願いします。

    • ベストアンサー
    • HTML
  • 書き方が悪いのか?それとも仕様なのか?

    それとも、単純なミスに気がつかないのか、どうしても、期待した結果を表示させることができません。 document.write();内で「<!-- comment -->」や「<script ... </script>」はNGなのでしょうか? 現状としては、後述の内容をHTMLファイルとしてローカルに保存した後、ブラウザで、そのHTMLファイルを開いて結果を確認しています。 ブラウザは Firefox 2.0.0.19 で OS には Debian GNU/Linux etch を使用しています。 可能であるならば、表示できるようにしたいのですが、もし、無理であるなら、その原因(理由?)も知りたいです。 申し訳ありませんが、詳しいかた、どうぞ、よろしくおねがいいたします。 【期待している結果】 - Test Start - ------------------------------------------- ←<HR>の線 Script:document.write('<script language='Javascript'>document.write('Hello World'):</script>:End. 【実際の結果】 - Test Start - ------------------------------------------- ←<HR>の線 :End."); --> ---- ここからHTMLファイル内の内容 ---- <HTML> <HEAD> <TITLE>ScriptTest</TITLE> <script language="Javascript"> <!-- document.write("- Test Start -"); --> </script> </HEAD> <HR> <BODY> <script language="Javascript"> <!-- document.write("<!-- comment -->"); document.write("Script:document.write('<script language='Javascript'>document.write('Hello World'):</script>:End."); --> </script> </body> </HTML> ---- ここまでHTMLファイル内の内容 ----

  • JSP内でのデータ取得

    <script> <!-- function getTime(){ var time = document.getElementById("time");   } --> </script> <html> <head><title>テスト</title></head> <body> <% ここで「time」を取得する %> JSPで、<script>内の処理のデータを、「 <% ~ %> 」の中で受け取ることって可能なのでしょうか?

  • ページ履歴を残すには?

    こんにちは。 1→2→3→4→5にページ履歴を残すようなスクリプトを作りたいと思い、いろんなサイトを見ていると、下記のようなスクリプトを見つけたのですが、 <head内> historyDelimiter = " → "; function addHistory(item) { var h = []; if(document.cookie != "") h = document.cookie.split(historyDelimiter); h.push("<a href=\"" + document.URL + "\">" + item + "</a>"); document.cookie = h.join(historyDelimiter); } function showHistory() { document.write(document.cookie); } <body内> <script type="text/javascript"> <!-- addHistory("1ページ"); showHistory(); //--> </script> これでやると、Windows XP IE6でしか表現されませんでした。 しかも履歴がどんどんと伸びていきます。 例えば、1→2→3→4→5まで行き2をクリックすと1→2みたいには出来ないのでしょうか? それとMacのFirefoxでの使用も多々ありますので、こちらでも表現できないものでしょうか? cgiやphpなどのプログラムが使用できないためjavascriptでやろうと思っているのですが、javascriptではなく他になにかいい手段はないでしょうか? ちなみにhtmlのページ数も400ページほどありますが、手作業で1ページずつ打っていったほうが無難でしょうか。

  • オブジェクトを指定してくださいのエラーが出ます

    <html> <head> <META http-equiv="Content-Script-Type" content="text/javascript"> <script langage="javascript"> <!-- function start(){ time=setTimeout("jsimage()",1000); } var c=0; function jsimage(){ clearTimeout(time); if(c<=3){ document.write('<div style="position:absolute;left:'+(c*30)+'px;top:0px">\n'); document.write('<img src="logo.gif">\n</div>'); time=setTimeout("jsimage()",1000); c=c+1; } } --> </script> </head> <body> <a href="javascript:start()">start</a> </body> </html> これをIEブラウザで表示させると、一回だけlogo.gifが表示されるのですが、その後に 「エラー:オブジェクトを指定してください」とエラーが出ます。このエラー内容でで指定されているラインは1です、1行目には<html>タグしかないので、よく分からなくて困っています。  何かいい知恵がありましたら教えてください。お願いします

  • Ruby:CGI Content-Type: の設定方法

    以下に示すcgiの実行結果をContent-Type: application/x-javascriptにしたいのですが、どうしたら良いですか? #!/usr/local/bin/ruby require "cgi" cgi = CGI.new time=Time.new cgi.out do "document.write(\"#{time}\");" end

  • 小数点になってしまいます。

    <html> <head> <title>test</title> </head> <body> <scriptlanguage="javascript"> <!-- vardat1=newDate(2016,6,1); vardat2=newDate(2016,11,31); vardiff=(dat2.getTime()-dat1.getTime())/(1000*1900/02/28*1900/02/28*24); document.writeln(diff+'日の差'); //--> </script> </body> </html> これなら、問題なく日付けが表示されるのですが <html> <head> <title>test</title> </head> <body> <scriptlanguage="javascript"> <!-- vardat1=newDate(); vardat2=newDate(2016,11,31); vardiff=(dat2.getTime()-dat1.getTime())/(1000*1900/02/28*1900/02/28*24); document.writeln(diff+'日の差'); //--> </script> </body> </html> これにすると小数点になってしまいます。 vardat1=newDate();でも 年末までの残り日数を ブラウザ上に表示するには どうすれば良いでしょうか?

  • ブラウザの解像度横幅1280の時スタイルシートを記述したいのですが

    記述が間違ってると思われうまくいきません。 どなたか間違ってるところを指摘してくださいませ。。 初心者ですお願い致します。 <html> <head> <title>モニタサイズに合わせてウィンドウサイズを変更する</title> <script Language="JavaScript"><!-- w = screen.width; moveTo(0,0); if (w == 1280) { document.write ("<link rel=stylesheet href="'+ a.css +'" type="text/css">"); } else if () { document.write("<link rel=stylesheet href="'+ b.css +'" type="text/css">"); } // --></script> </head> <body> </body> </html> なおa.cssには、背景黒くしてます。

  • JavaScriptでイベントまでのカウントを作りたい。

    教えてください。JavaScript初心者です。 JavaScriptでイベントまでのカウントを作りたいのですが、 日にちを画像でだして、指定した日がきたら、画像で差し替えるようにしたいのですが、どうすればいいのでしょうか? ※現在は指定した日がきたら、「おめでとう」の文字がでるようにしてます。 書いたタグは下記になります。 アドバイスをお願いします。 <script language="JavaScript"><!-- var now = new Date(); var point = new Date(2009,8-1,25); var countdown = Math.ceil( ( point.getTime() - now.getTime() ) / (1000*60*60*24) ); if(countdown > 0) { document.write('countdown '); } else { document.write('おめでとう!'); } // --></script>

  • SSLページのアクセス解析タグの設置方法

    リリースが近いHPがあるのですが、あることで悩んでおります。 アクセス解析ツールとして、futomi's CGI Cafeさんの高機能アクセス解析を使用しております。 参考)http://www.futomi.com/library/acc.html こちらの解析タグをSSLページに貼るとセキュリティ情報画面が毎回表示されてしまいます。 (「このページにはセキュリティで保護されている項目と保護されていない項目があります。」) これを出ないようにしたいのですが、何か方法はあるのでしょうか。 お手数をおかけしますが、ご教授いただければ幸いです。 よろしくお願いします。 参考)貼り付けるタグの例 <script type="text/javascript"> <!-- document.write("<img src='http://www.hoge.com/acc/acclog.cgi?"); document.write("referrer="+document.referrer+"&"); document.write("width="+screen.width+"&"); document.write("height="+screen.height+"&"); document.write("color="+screen.colorDepth+"'>"); // --> </script>