これ何て呼びますか Part2

こんにちは

会社にて、先人の作成したjavaシステムの管理を行っている者です。

私自身、あまりjavaに詳しくないので、
文言等がおかしい場合はご了承ください。

現在、弊社のjavaシステムはIEで動作しており
URLを指定して呼び出した「ログイン画面」にIDをPassを入力し
ボタンを押すと「メニュー画面」が別ウィンドウで起動する仕組みです。

この「メニュー画面」の起動はjspにて「window.open」を用いて実施しており
引数を"location=0"にしているため、IEではアドレスバーが表示されることがありません。

しかし、IEのサポート終了に伴いEdgeでの動作を行うこととなりました。

現在EdgeのIEモードで起動し動作検証を行ったところ、
動作自体は問題が無いのですが、
「メニュー画面」にアドレスバーが表記されてしまいます。

調べたところ「window.open」ではEdgeでのアドレスバーを非表示にすることが
できないようです。

ショートカットアイコンを作成すると問題無いのですが
「ログイン画面」のURLをお気に入り登録しているユーザーもいるため
この方法が使えません。

ショートカットも「window.open」も使わず、
「window.open」と同様にサブ画面にて「メニュー画面」を起動する方法があれば
ご教示頂けないでしょうか。

言葉足らずなところもあるかと存じますが、
よろしくお願い申し上げます。

A 回答 (3件)

代案1. 固定表示の具体例


page1.html を読み込み
ページ右端には一定幅の空白枠がある
page1.html 内の JavaScript が AJAX 手法で menu.html を読み込み
menu.html の内容を空白枠に書き込み
内容だけ書き込みなので menu.html の URL は表示されない
(参考)
https://developer.mozilla.org/ja/docs/Web/Guide/ …

代案1. 浮遊表示の具体例
page1.html を読み込み
page1.html は浮遊表示用の js ライブラリを読み込み
ライブラリで menu.html を page1.html 内に疑似ウィンドウ表示
ウィンドウにはアドレス欄が無いので URL は表示されない
UX を考慮し、スクロール位置でウィンドウ表示を制御すると望ましい
(ライブラリの例)
https://riversun.github.io/JSFrame.js/public/

目的が URL コピー対策だけならば、

代案5. 画面遷移はすべて <iframe> 内で済ませる
URL コピーされてよい画面内に <iframe> を縦横いっぱいに埋め込み、
URL コピーされたくない画面を中に表示

代案6. アドレス欄を書き換える
アドレス欄を見た目「だけ」書き換えて、問題のない URL に見せる
ブラウザ操作で「戻る」と元の URL が表示されるのが欠点
(参考)
https://developer.mozilla.org/ja/docs/Web/API/Hi …
    • good
    • 1
この回答へのお礼

Ogre7077 様

丁寧なご回答、誠にありがとうございます。

やはり、少し構造から考え直さないといけないようですね・・

ご説明いただいた内容にも、自身の勉強不足を感じておりますので
少しずつ調べて試してみます。

本当にありがとうございました。

お礼日時:2022/04/21 17:45

基本的に存在しません。



代案1. メニューを各画面内に埋め込む
画面端に固定表示したり、スクロール時に浮遊表示させる。
JavaScript にて既存ページを別ページ内に埋め込めば実装が楽。

代案2. 専用クライアントを使う
Electron や WebView 等の技術を活用して、アドレスバー有無を制御できるブラウザを独自に用意し、ログイン画面に「専用アプリを導入する」のリンクを付ける。

代案3. 一般的なナビ要素を各画面内に導入する
グローバルナビゲーション、パンくずリスト、ハンバーガーメニュー等の、ごく普通の商業サイトがごく普通に使っている技法をつかって、画面構成を見直す。

代案4. あきらめる
制限事項としてログイン画面に注意書きする。
    • good
    • 0
この回答へのお礼

Ogre7077 様

詳細なご回答、誠にありがとうございます。

有りませんか・・

アプリケーションモードを使用して
JavaScript (window.open)を使用しない方法を
見つければいいのでは、と言われていたのですが・・・


代案1でご回答いただいた内容について
少しお伺いしたく存じます。

>代案1. メニューを各画面内に埋め込む
>画面端に固定表示したり、スクロール時に浮遊表示させる。
>JavaScript にて既存ページを別ページ内に埋め込めば実装が楽。

知識がなく、上記ご説明いただいた内容についてピンと来ていません。

画面端の固定表示 や スクロール時の浮遊表示とは
URLを隠すような位置に画面を表記させる ということでしょうか?

また、既存ページを別ページ内に埋め込むと
なぜURLを消せるのでしょうか?


弊社のシステムは下記のような構造になっています。

 「ログイン画面」
   ID/PASS欄とログインボタンのみ
 「メニュー画面」
  サイドメニュー表記(というのでしょうか)
   ・左半分がメニュー(各画面へのリンク)
   ・右半分が左半分で選んだリンク先の表記

上記構造でも、実現が可能でしょうか。

お忙しいところ恐縮ですが
よろしくお願い申し上げます。

お礼日時:2022/04/21 09:16

アドレスバーを非表示にした場合、サイトのURLがわからなくなるため、正式なサイトにアクセスしているのか、偽サイトにアクセスしているのか判別できずの危険性あり。

(ショートカットの作成しか・・・)
    • good
    • 0
この回答へのお礼

goold-man様

ご回答ありがとうございます。

URLの危険性は最もです。ご指摘ありがとうございます。

ただ、いままでがWEBシステムというよりも
アプリのような感覚でご使用いただいていたこと、
またログイン後の画面のURLでリンクをコピーされないように
出来れば非表示にしたいと考えております。

危険性も合わせ、検討させていただきたく存じます。

お礼日時:2022/04/21 09:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A