• 締切済み

Java変数にJavascript変数を代入したい

いつもお世話になっております。 ブラウザを閉じるときだけ走らせたいJAVAの処理があります。 そのため、JavascriptとJAVAの変数を混合させて、処理の起動条件を制御しようと思いついたのですが、 JAVAの変数にJavascriptの変数を入れることができません。 以下のソースの★の部分が分かりません。 function window.onbeforeunload() { if(((event.clientX > document.body.clientWidth) && (event.clientY<0)) || event.altKey){ var flag = 0; <%! int flag %> = flag; ★ <% if(flag == 0){ Cache cache=Cache.getInstance(); cache.clear(); } %> alert("閉じます"); } } 何か良い方法が有りましたら、御教授宜しくお願いいたします。

みんなの回答

回答No.2

<iframe name="unloadifr" id="unloadifr"> <form id="unloadform" target="unloadifr"> を作っておいて、 window.onunload=function(){document.unloadform.submit();}; とか。

回答No.1

おそらく原理的に無理。 やるなら XMLHTTPRequest等を使ってJava側にQueryStringを送る形にすべし。

関連するQ&A

  • ブラウザの×ボタン(閉じるボタン)押下時のイベントをひろいたい

    javaScriptでブラウザの閉じるボタン(×ボタン)を押したときに、functionを走らせたいのですがうまくいきません。onunloadで以下の処理を行っています。 if(event.clientX <= -8980 && event.clientY <= -9000 || event.clientX >= 32700 && event.clientY >= 32700) {  //ブラウザ閉じられたときの処理 } 閉じるボタンを押してなくても走ってしまったり、不安定なのですが、×ボタン押下時のイベントの拾い方をどなたかご教授ください。よろしくお願いします。

  • javascriptの条件文

    スマホにタッチした時の値を取得するスクリプトです。 よくわからないまま作成してますが、ご勘弁下さい。 <script type="text/javascript"> window.document.addEventListener("touchstart", function(event){ event.preventDefault(); var result = document.getElementById("result"); result.innerHTML = "clientX:"+ event.touches[0].clientX+ "<br>" + "clientY:"+ event.touches[0].clientY; }, true); window.document.addEventListener("touchmove", function(event){ event.preventDefault(); var result = document.getElementById("result"); result.innerHTML = "clientX:"+ event.touches[0].clientX+ "<br>" + "clientY:"+ event.touches[0].clientY; }, true); window.document.addEventListener("touchend", function(event){ event.preventDefault(); var result = document.getElementById("result"); result.innerHTML = ""; }, true); ここまでは正常。 値を取得した、Yを下記のようにしたのですが、 500以上になってもロケーションが実行されません。 間違いなく構文が間違っているのですが、数時間格闘したのですが、わからないので すみませんが、教えて頂けると有難いです。 num = event.touches[0].clientY; if (num >= "500") { location.href = "https://www.google.co.jp/"; } </script>

  • javaScriptの変数をJavaの変数に代入する。

    jspで作ったプログラムがあるこのような場合変数を共有する方法はありますでしょうか? 以下の場合iの(JavaScript)値をjavaの変数iに代入したい場合どうすればいいでしょうか? <%! String s[] ={A,B,C,D,E} %> function chek(){ for(i = 0;i< 5 ;i++){ <%! int i =%> = i;//←この部分です //document.form1.desc.valueにはBの値が入っている if(<%! s[i] %> == document.form1.desc.value){ alert("Bです"); } }

  • IE7での閉じるボタン等の画面クローズ処理について

    IE7で画面が閉じられたことをひろう方法を考えています。 IE6までであれば他の方の質問にもあるようにマウスの座標が 特殊値(-8900等)を返すためこの値で判断できるのですが、 IE7になってからは「×」ボタン押下、右クリック「閉じる」、 「Alt+F4」、「Ctrl+W」、左上のアイコン?のダブルクリック等 マウスの座標に正常値が返ってくるようで、うまく閉じられたことを ひろうことができません。 clientYがマイナス値を返すようなので、 if(clientX>0&&clientY<0){} if((event.altKey) ||(event.ctrlKey)){} 等を考えているのですが、右クリック「閉じる」が上記の方法では、 判断ができません。 また、  if(clientX>document.body.clientWidth&&    (clientY<0||event.altKey)){  } も試してみたのですが、画面を開く際に作業領域全体にリサイズを 行っているので、「X」の値が最小化から閉じる以外は、 clientWidthよりも大きくなることはないようです。 他に、もしマウスが画面外にあった際に、「Enter」キーで画面 遷移(Submit)を行った場合に処理が走ってしまう可能性があります。 画面を閉じることについては以前より考えられていますが、 何かよい方法がないでしょうか? やはり仕様で禁止しかないですかね・・・ ちなみに現在試していることは、親画面の存在を 常に確認する画面を出しておいて親画面がなくなったら 処理を行う方法を考えています。

  • javascriptで困っています

    マウスがブラウザーの外側から出ると、ポップアップが出るようにしたいです。 loadEvents: function() { this.addEvent(document, "mouseout", function(e) { e = e ? e : window.event; if(e.target.tagName.toLowerCase() == "input") return; var vpWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); if(e.clientX >= (vpWidth - 50)) return; if(e.clientY >= 50) return; var from = e.relatedTarget || e.toElement; if(!from) bioEp.showPopup(); }.bind(this)); 現在は、上方向に出るとポップアップが出ます。 左右にマウスが出た時に、ポップアップ出るにはどう記述すれば良いでしょうか。 よろしくお願いいたします。

  • JavaScriptからJAVAクラスを呼び出す

    JavaScriptからJavaクラスのメソッドやコンストラクタを呼び出す事ってできるのでしょうか? 今、行おうとしているのが、テキストにて入力した後に日付編集(4200812 → H20. 8. 12に変換)処理を行うというものです。 初期表示時は、Javaクラスで変換して表示させるので、大丈夫なのですが、どうしても入力したタイミングで変換させるには、JavaScriptを使用しなければなりません。 そこで、JavaScriptに元号情報やJavaで記述した制御などを記載すればできると思いますが、面倒臭いので、JavaScriptからJavaクラスのメソッドが実行できればなと思います。 そのような事はできるのでしょうか?? JDKは1.6です。

  • PHP内でJavaScriptの処理は可能?

    PHP内変数 $flag をJavaScriptで参照し、条件処理を行っています。 JavaScriptの処理は onClick() のタイミングで行います。 ソースの概要は以下のようになります。 1.ログインしているか見る(flagでチェック、1はログイン中…) 2.flagのデータ取得、条件処理。 3-1. flagが1以外なら、true処理 3-2. flagが1なら、false処理  ・  ・ と、こんな処理を行いたいのですが…上手く出来ません。 ソースは以下になります。PHP側の変数 "$flag" までの取得は上手く出来たのですが、 JavaScript側の処理で、つまづいてます…。 で、表題にもあるようにPHP内でJavaScriptの処理は可能でしょうか? アルゴリズム的に、アドバイスなどありましたらご教授ください。 以下が主要部分のソースになります。 <?php echo("<script Language='JavaScript'> "+ "<!-- "+ "function check(){ "+ "if($flag != '1'){ "+ "return true; "+ "} "+ "else{ "+ "header('Location: ./error.html'); "+ "exit(); "+ "return false; "+ "} "+ "} "+ "//--> "+ "</script> "); echo(" <a href='test.html'><img src='botton.gif' onClick='check()' "> アドバイスお願い致します。

    • 締切済み
    • PHP
  • 変数の未定義の判定(JavaScript)

    JavaScriptである名前の変数の定義済み、未定義の判定をする際に 以下のようにするとエラーになりますが、何か方法がないでしょうか。 if (myval == "undefined") {  alert("未定義"); }

  • なぜ?グローバル変数に代入できません!

    お世話になります。 以下、例文です。 flag = new Array();//グローバル変数として用意 function selectCount() { for (count = 0; count <= document.form1.length - 1; count++) { if (form1.elements[count].type == "select-one") { itemflag[count] = true; alert(itemflag[count]); } } alert(itemflag[1]+'aa'); } <body onLoad = "selectCount();"> htmlの中にあるselectオブジェクトの数を調べ、 その数の分フラグを作成し、true指定するメソッドを作成したつもりです。 しかし、for文を抜けたところにalertを置き、実際に trueが代入されているか調べたところ、値はundefineになってしまいました。for文内で値が代入されていることは確認されているにも関わらず、です。 なぜでしょうか?for文でのtrue、false指定は,for文外では機能しないのでしょうか? ご存じの方いらっしゃいましたら、ご教授宜しくお願い致します。

  • javascriptにphpの変数を用いる

    JavaScriptでサブウインドウのフォームから親ウインドウのフォームにデータを送るプログラムを書いています。 親ウインドウのページによって処理を変えているのですが、phpの変数を使うと関数自体がエラーになってしまいます。 どう書くのが正しいのでしょうか?教えてください。 プログラムは下記です。 if(page=="0"){ window.opener.document.form_name.input_name.value=input_data; window.close(); } else{   for(i=1; i<6; i++){     var pagename = "page_"+i;     if(page == pagename){ window.opener.document.<?php echo $_GET[form_name]; ?>.<?php echo $_GET[input_name]; ?>.value=input_data; window.close();   } }

専門家に質問してみよう