0

http://example.com/js/script.jsある相対URLに対してAJAXリクエストを起動すると仮定すると、リクエストされた絶対URLを取得するにはどうすればよいですか?

たとえば、私がimage.pngから要求した場合、私http://example.com/js/script.jsは戻ってくることを期待しますhttp://example.com/js/image.png。ただし、同じURLからリクエストした場合は、/image.png返されると思いますhttp://example.com/image.png

この質問は、次の2つの理由で注意が必要です。

  1. スクリプトのURLをその中から取得することは不可能だと思います。 更新:AJAXリクエストがスクリプトの場所に関連して発行されると誤って想定しました。に関連して発行されていることがわかりlocation.hrefます。これにより、状況が単純化されます。
  2. XMLHttpRequest絶対的な形式は言うまでもなく、リクエストURLが公開されるとは思いません。

何か案は?

4

1 に答える 1

1

スクリプトの URL を内部から取得できるとは思えません。

そのためには、単に使用しますlocation.href

相対URLから絶対URLを取得する簡単なハックは次のとおりです。

function getAbsoluteURL(relative) {
    var a = document.createElement('a');
    a.href = relative;
    return a.href;
}

この質問によると、Ie6 では動作しませんでしたが、それは本当に問題なのでしょうか?

于 2012-12-26T07:38:04.190 に答える