Web 関係の開発や保守をしていると必ずと言っていいほどぶつかるブラウザ問題。先日もその辺の相談を受けたのでちょっと語ってみようかと。
IEとEdge
どちらも Microsoft が開発や展開を行っているブラウザでみなさんお馴染みですよね。
今回受けた相談は「基本的には IE を使っているが、特定のドメインのリンクだけは Edge で開きたい」というもの。
どういうことかというと、運用中のポータルサイトがあり、外部サービスへのリンクが多数貼られている。その内の一つのサービスがIEのサポートを終了してしまい、IEからだと利用できなくなってしまう。社内標準のブラウザは IE だが Edge もプレインストールされているので、そのサービスだけは Edge で利用したい。
とまぁ、こんな感じ。
対象のポータルサイトが IE の利用を推奨しているようなので、前述のような対応ができたらベターですよね。
対応策
では実現可能なのか、という点ですが以下3つの方法で実現が可能です。
レジストリをいじる
実はレジストリをいじってアプリケーションを登録してやることでブラウザ上からローカルのアプリケーションを実行してやることが可能です。
これを利用すればリンクなりボタンなりのクリックをトリガーとして Edge に URL をパラメータとして渡して実行してやれば良い訳です。
しかし、企業内の全ユーザーのレジストリをいじったりというのは調整や手間の観点からあまり取りたくない手段でし、社内ルール的に許可されるものかも分かりません。
この方法は個人が自分用のポータルを使用している場合などには有用でしょうが、お仕事向けではありません。
ActiveXを利用する
javascript から ActiveX オブジェクトを生成して実行してやることでもローカルのアプリケーションを実行することが可能です。
こちらも Edge にパラメータとして URL を渡してやることで実現が可能ですが、セキュリティ的な観点から ActiveX の利用に難色を示すお客様も多いです。
またその辺の設定を配布なりなんなりしないといけないので、その辺もちょっと面倒ですよね。
特殊なリンクを使う
で、最後にちょっと特殊なリンクを使う方法です。ぶっちゃけコレだけ紹介すれば済むんでしょうがそれだと寂しいので他の手法も紹介してみました(´・ω・`)b
以下の形式で Aタグの href 属性をを記述することで Edge を起動してURLを開くことが可能です。
<a href="microsoft-edge:https://la-fra.com/">Open site by Edge</a>
※ Chrome などの場合は確認ダイアログが開きますが IE だと確認無しで Edge が起動します
という訳でこのリンクの貼り方をすれば相談された内容もまるっと解決っ!
コメント