2016-04-25 11 views
1

私はこれらのもののようないくつかのスクリプトへの参照を持つHTMLページを持っている:HTMLページのスクリプトsrcにルートを動的に追加する方法はありますか?

<script charset="utf-8" src="Content/Styles/ThemeForest/assets/js/vendors.js"></script> 
<script charset="utf-8" src="Content/Styles/ThemeForest/assets/js/app.js"></script> 

問題は、私は、サーバーに自分のサイトをアップロードするとき、それはもはや機能していること、ではありません。 私は代わりにWebアプリケーション名を追加すると、再び動作すると考えました。このような何か:

<script charset="utf-8" src="MySite/Content/Styles/ThemeForest/assets/js/vendors.js"></script> 
<script charset="utf-8" src="MySite/CContent/Styles/ThemeForest/assets/js/app.js"></script> 

今、事は...そう、私は動的にアプリケーションを追加したいWebアプリケーション名は、それがサーバーにアップロードされた後のようなものだろうか、私は知らないかもしれないということであり、名前をsrcに渡します。

window.location.pathnameというJavaScript関数があることに気付きました.Webアプリケーション名(もしあれば)がわかります。私はこれをルートの残りの部分に連結することができ、それはうまくいくはずです。

ここで、キャッチは、これはすべて正規のHTMLページにあることです。 基本的なJavaScript関数を使用してスクリプトタグにカスタムルートを設定できる方法はありますか?または他のアイデア?

+0

をお試しください。 –

+0

'/ Content/Styles/ThemeForest/assets/js/vendors.js'のようなルート相対パスのようなサウンドが働くかもしれません。ルート相対パスを単純に使用できない理由はありますか? –

答えて

0

$scriptのようなコードをapp.runや他の場所に追加し、ロードするjsファイルのルートの配列で呼び出すことができます。あなたは、Webアプリケーションの名前を取得し、これだけのスクリプトのパスを連結し、アプリの名前を渡すことができると言った:

var dependenciesLoadingFactory = function(deps) { 
    return ['$q', '$rootScope', function($q, $rootScope) { 
     var deferred = $q.defer(); 
     $script(deps, function() { 
      $rootScope.$apply(function() { deferred.resolve(); }); 
     }); 
     return deferred.promise; 
    }]; 
}; 
-1

あなたは、ディレクトリまたはファイル名自体(で始まるソースドキュメントにリンクする場合あなたの質問と同じように)、あなたの現在のファイル(これはあなたのスクリプトタグを保持するhtmlファイルである)と同じフォルダから検索を開始します。 親ディレクトリのファイル

../file.js 

代わりに、slで始まるパスにリンクすることもできます灰色:

/dir/to/your/file.js 

これは、あなたのドメインまたはサブドメインが指すディレクトリを意味するページのルートディレクトリを探し始めます。ルートディレクトリの上にあるファイルには正常にリンクできません。

あなたのファイルを別のサーバー上にある場合は最後に、あなたはHTTPを含む完全なパスを含めることを確認してください://スニペット:通常の状況下では

http://example.website.com/dir/file.js 

、本当にこれらから逸脱する理由はありませんあなたが絶対にディレクトリを動的に設定しなければならない場合は、サーバーサイドであるため、ユーザーにとってはより速く、javascriptが無効になっていると利用できるので、phpを使用することをお勧めします(スタイルなどの他のファイルこのようにシート):

これがうまくいくには、サーバーにPHPが動作している必要があります。

+0

私はなぜこのポストがdownvotedされているかについてのフィードバックをしたいと思います。この質問の著者は、javascript以外のアイデアを元の投稿で尋ねました。 – TheThirdMan

関連する問題