2017-02-01 6 views
2

htmlページのスクリプトsrcにルートを動的に追加したい。例えば 、動的にスクリプトsrcへのルートをHTMLページに追加する

<script src="../../../library/vendor/jquery/jquery-3.1.1.min.js"></script> 

私は、Webサーバーを使用して動作していない、このコードをロードします。おそらくそれはWebサーバーのURL接頭辞を置く必要があります。だから私は下に変更したい。

<script src="mySite/../../../library/vendor/jquery/jquery-3.1.1.min.js"></script> 

や、ルート相対パスが設定 他の事?

答えて

2

これは、htmlまたはjavascriptでのみ達成することはできません。ブラウザに送る前にhtmlを "レンダリング"して "mySite"を置き換えることができるフレームワークが少なくとも必要です。それは次のようになりJSF 2.xで

例:

<link href="#{request.contextPath}/css/style.css" rel="stylesheet" type="text/css"/> 

またはThymeleaf:

<a th:href="@{/order/list}"> 

あなたは、例えば、コンテンツが交換された1ページのサイトを開発したい場合動的にajaxによって、このフレームワークの1つによって動的に作成された少なくとも1つのページが必要です。 JavaScriptコード以下

1

用途:

var scr = document.createElement('script'); 
    var myurl = 'http://example.com/myjavascript.js' 
    scr.setAttribute('src',myurl); 

    document.head.appendChild(scr); 

か、このような関数を作成することができます

function addMyScript(url) { 
    var scr = document.createElement('script'); 
    scr.setAttribute('src', url); 
    document.head.appendChild(src); 
} 

あなたが動的にURLを決定し、それをパラメータとして渡すことで機能を呼び出すことができます。

addMyScript('http://example.com/myjavascript.js'); 
+0

ああ、私はそれについて考えていませんでした。あなたがレンダリングする最初のhtmlの最初のどこかから "myUrl"を取得する必要があります。 – Brain

関連する問題