web-dev-qa-db-ja.com

JavaScriptサイトルート

私はこのサイトを持っているので、ルートフォルダーを見つける必要があります。

ここでの私の問題は、開発中にローカルサーバー内のフォルダーがあり、それが独自のフォルダー内にあることです。

次に、オンラインで開発サイトをフォルダー内に配置します。そのため、ライブプロダクションなどの前にすべてテストできます。

ローカルサーバー:localhost/mytestSiteA/...

ライブサーバーテストフォルダ:www.asite.com/devbuild/...

これでルートを取得できます

    document.location.hostname 

しかし、開発モードでコンテンツなどをロードできるように、この後にフォルダー名を追加する必要があります。

ローカルサーバー

 document.location.hostname + '/mytestSiteA/'

ライブテストサイト

 document.location.hostname + '/devbuild/'

しかし、私の問題は、ローカル開発、ライブ開発、またはライブモードで決定される変数を設定するのではなく、この内部フォルダーを取得する簡単な方法がありますか?パスを正しく追加できるように、手動で変更するなどの方法です。

また、jsスクリプトに読み込まれ、完全なパスを取得できるフォルダーがあるかのように役立ちます。

ローカルサーバー:localhost/mytestSiteA/subsection/...

ライブサーバーテストフォルダー:www.asite.com/devbuild/subsection/...

これが理解しやすく、理解しやすいものになっているといいのですが。 Si

11
Simon Davies

してみてください switch

switch (document.location.hostname)
{
        case 'asite.com':
                          var rootFolder = '/devbuild/'; break;
        case 'localhost' :
                          var rootFolder = '/mytestSiteA/'; break;
        default :  // set whatever you want
}

次に使用します

var root = document.location.hostname + rootFolder;
20
diEcho

これは、switch句の後で機能しました。

var root = location.protocol + '//' + location.Host + rootFolder;
3
user2905032

URL localhost/devbuildをlocalhost/mytestSiteAにマップし、最初のURLを使用してサイトをローカルでテストできます。あなたのjavascriptでは、いつでもdevbuildフォルダを想定できます。そうすれば、他に何も変更する必要はありません。

0
Asciiom