WebビューアとIME
2008.06.06
その他
現行バージョンのFileMakerにはレイアウト上にWEBブラウザを配置できるような機能(Webビューア)があるのですが、この機能の設定で Webビューアと内容とのイントロダクションを許可 している状態だと当然ながら注意しなくてはいけないことがあります。
例えば、表示中のHTMLファイルがRefreshタグなどで定期的に内容を更新するようなものだったりすると、上記の設定であれば仮にテキストフィールドで日本語を入力中であろうが、IMEは強制的に確定されてしまいます。
すべてはシステムの設計(仕様)によるのですが、例のような問題を避けるためにはやはり許可しないように設定せざるを得ません。
仮に、現在Webビューアに表示中のURLに飛ばしてみようとします。
イントロダクションを許可している場合は、Webビューア表示中のURLリンクをクリックすれば良いだけですが、許可しない場合で目的のURLに飛ばしたい場合などはそのHTMLファイルにあるルールに従ってHTMLソース中のどこかにURLを仕込ませておきます。
例ではHTMLのタイトル(Webブラウザのウインドウ名)を飛ばしたい先のURLにしたとして、あとはWebビューア自体に ボタン設定 をします。
ボタン設定 ダイアログ中で URLを開く というのがありますので、オプションの ダイアログなしで実行 にチェックを入れ 指定ボタン で以下の計算式にて、HTML中に仕込んだ飛ばしたい先のURLを抜き出します。
Webビューアにつけたオブジェクト名を”Banner”とします。
Let ( [
a = GetLayoutObjectAttribute ( “Banner” ; “Content” ) ;
b = Position ( GetLayoutObjectAttribute ( “Banner” ; “Content” ) ; “<Title>” ; 1 ; 1 ) + 7 ;
c = Position ( GetLayoutObjectAttribute ( “Banner” ; “Content” ) ; “</Title>” ; 1 ; 1 ) ] ;
Middle ( a ; b ; c – b )
)
すると、HTMLソース中のTitleタグ中に指定した文字列を飛ばしたい先のURLとしてWEBブラウザを開くことが出来るようになります。
当然ながらイントロダクションは許可していないので、IMEで変換していてもコンテンツに影響されて確定されてしまうこともなくなります。