ホーム >> 左脳Script >> Java Script >> jsにjsをインクルードする方法

jsにjsをインクルードする方法


メインとなるHTMLに、必要な js 読み込み記述をしていると、どれが関連の jsライブラリ なのかが判りにくく、煩雑になる場合が在ります。

そこで誰しもが考えるのが「jsにjsをインクルードする方法」ということで、検索すれば割と簡単に見つかるのですが・・・

  • 割と真っ当に、「<script>タグを、document.writeする」
    こんな風に。
    
    document.write("<script type='text/javascript' src='sample.js'></script>");"
    
    いや、もぅ、なんてストレートな。
    しかし・・・これではエラーなのかスクリプトが止まる事がありました。

    →jsファイルの評価順が問題になる場合は、使えません。js中で document.write を実行しても、実際に反映されるのは、実行した js の評価後と言う事のようです。

  • DOMでなんとかする
    コードで incoude する方法。
    
    function include(astrFile)
    {
        var script = document.createElement('script');
        script.src = astrFile;
        script.type = 'text/javascript';
        script.defer = true;
        document.getElementsByTagName('head').item(0).appendChild(script);
    }
    
    これで、普通に「include('jsファイル')」が使えます。実にエレガント。

    しかし・・・safari3.2.3で動いていた上記のコードがsafari4になって、いきなりアウト!正直予想Guyで、原因が不明です。

    現在調査中です。が、バグじゃないかと疑ってますw正直。
    DOM操作で、<script>タグが挿入されてから、ブラウザのプロセスにアイドル状態が出来るまでは、<script>タグが評価出来ないような仕様でなければよいのですが・・・

    Chrome でも、同じような止まり方をする可能性があります。なにせ、Java Script エンジンが WebKit とか言う同じ種類らしいですから。


これら以外には、js だけでインクルードする方法は無いようですね。以外に手段が少ないのが残念なところ。
Java Script 2.0 では、仕様として indclude が実装されるとか何とか。


ともあれ、今の段階では、HTMLに素直に<script>タグを書くのが無難で確実なようです。



トラックバック(0)

トラックバックURL: http://n-yagi.0r2.net/sanoupulurun/mt-tb.cgi/164

コメントする

ホーム >> 左脳Script >> Java Script >> jsにjsをインクルードする方法

アーカイブ

このブログ記事について

このページは、n-yagiが2009年6月22日 19:36に書いたブログ記事です。

ひとつ前のブログ記事は「Google日本とGoogle日本語の違い」です。

次のブログ記事は「タグ検索URLをスッキリ爽快に」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。