Others

Information

[小ネタ] HTC内部からの外部ファイルへのリンク

HTC内部から外部ファイルをリンクするのに、思考錯誤したので記録しておきます。(IE5.5,IE6で検証)

HTC内部から外部ファイルのJavaScript共通ライブラリをリンクしたいといった事があるかと思います。

厄介な点

その場合、絶対パスで指定すれば問題無いのですが、相対パスを使いたい場合は、呼び出し元のHTMLファイルからの相対パスとなってしまいます。

つまり呼び出し元のHTMLページの場所に依存して、相対位置が決まってしまい扱いづらいのです。

対応方法

HTCは、HTMLとは別にHTC毎のdocumentオブジェクトを持っているようです。

そのHTCのdocument.URLプロパティにより、HTCファイルまでのパスを取得できるので、これを利用して相対パスの変わりとすると便利です。

(JavaScript等から、document.URL.match("^.*[\\\\/]") といった感じでHTCファイル名を抜いたパスを利用する等。)

※document.URLは、エンコードされた結果なので、注意する必要があります。
もしエンコードされる前のURLが欲しい場合は、document.URLUnencodedを、使用すると良いと思います。

参考情報

HTCのdocumentオブジェクトは、HTCのdocumentオブジェクトページで参照できます。

関連リンク

Sponsor