2007/06/23

iframeのお話

本題自体はたいした内容ではないのですが。やや雑談まじりにて・・・。

Domino Webアプリは、ポータルの中の一部分として動作することもよくあります。WebSphere Portal(WP)のこともありますし、それ以外のいかなるポータルアプリケーションとも、連携という話はよく耳にします。

その場合は、「ブラウザ」「ポータルサーバー」「Dominoサーバー」と、登場人物が3つ出てきますが、並び順は通常、

「ブラウザ」-「ポータル(ポートレット)」-「Dominoサーバー」

という風になります。ユーザーから見ると、ポータルの中のポートレットにてDominoアプリが動作します。

さて、実はこのケースには以下の2種類のタイプが存在します。
1. ポータルサーバーが、Dominoサーバーへアクセスし、その結果を(適切に加工して)ブラウザに渡す
→ポートレットが直接的なDominoのクライアントになる
2. ポータルサーバーは、iframe を作るだけで、実は、ブラウザからDominoサーバーへは、iframe経由の直行便
→ブラウザが直接的なDominoのクライアントになる

ところで、この2つは、見た目以上に技術的には中身が異なります。
いろいろな違いがありますが、アプリの作りや、シングルサインオンに関する考慮、Dominoから見えるIPアドレスなど、は違いを認識しておくべきかと思います。


それはさておき、iframeに関する、小さなお話。
iframeは、基本的にそれ自体が小さなブラウザであり、普通のWebアプリケーションはiframeの中でそのまま動きます。考慮点といえば、認証や画面サイズといったところでしょうか。

そんな中で、先日たまたま発見したのですが、iframeの中でリンクをクリックすると、iframeの画面内ではなくて、親部分でリンクを開くことがごく稀にあります。ちょっと調査してみたところ、HTMLソースの <a タグに、 target="_parent" が入っていました。例えばポータルの中(iframeの中)で利用しているアプリケーションなのに、リンクをクリックしているうちに、ポータルが消えてしまって、アプリケーションがウインドウ内全画面で動作・・・なんてことも有り得てしまうのですね。

0 件のコメント: