Map URLジャンプからの戻り画面遷移
いつもお世話になっております。
1.8.1において、Map URLから画面遷移後、ブラウザのバックボタンで前の画面に戻ろうとすると、マップ画面に戻らず、その一つ前の画面に戻ってしまいます。
以下、再現手順です。
?マップに追加したホストのURLにリンク先を設定
例えばhttp://www.google.com
?ダッシュボードを表示
?マップ画面を表示、ホストを選択、右クリックしてMap URLを選択
?該当のURLに画面遷移
?ブラウザのバックボタンを押下
?マップ画面に戻らず、一つ前の画面(ダッシュボード)が表示される
ブラウザはFirefox3.5.8とIE6の両方で確認しております。
OSはCentOS5.3、以下のパッケージを使用しております。
# rpm -qa | grep zabbix
zabbix-web-mysql-1.8.1-1.el5.JP
zabbix-1.8.1-1.el5.JP
zabbix-server-mysql-1.8.1-1.el5.JP
zabbix-agent-1.8.1-1.el5.JP
zabbix-web-1.8.1-1.el5.JP
zabbix-server-1.8.1-1.el5.JP
以上、お手数おかけしますがよろしくお願いいたします。
heya - 投稿数: 319
こんにちは。
その挙動がバグなのか仕様なのかは分かりませんが、とりあえず /usr/share/zabbix/include/maps.inc.php の639行目(URLという文字列で検索すると楽)の、
location.replace('".$url."');
という部分を
location.href='".$url."';
にすれば、お望みの挙動になるようです。
replaceだと今のページを置き換える(履歴にも残らない)、hrefだとページを移動する、というイメージです。
本題からそれますが、なぜかこのメッセージ中で javascript のあとに : が来ると、java と script の間に空白が入ってしまうようです(最初locationの前にこれを入れていて、あれ?と思いました)。こんな感じです→javascript:。ここではHTMLタグも使えるみたいなので、危険なスクリプトを紛れ込ませない対策ですかね。
sakuma - 投稿数: 16
heya様
ご確認いただき、ありがとうございました。
ご指摘の修正で動作確認できました。
1.6.4では前の画面に戻っていたため、1.8の動作に違和感を感じました。
1.6.4のmaps.inc.phpを見てみましたが、作りが変わっていて、意図的な変更なのかデグレーションなのかわかりませんでした。