2012-01-05 14 views
-1

URLから特定のファイル名を取得しようとしていますが、Iveは投稿を見ましたが、必要な質問に答えるものはありません。あなたはwindow.locationオブジェクトからそのようなURL情報を取得することができますJavaScript/Jqueryを使用してURLから特定のファイル名を引き出します

http://sharepoint/sites/Jarrod/DurangoTest/SitePages/Home.aspx?RootFolder=%2Fsites%2FJarrod%2FDurangoTest%2FShared%20Documents%2FTest1&FolderCTID=0x01200094D5A58A4F099E49BE1A8BA2F7DE9E0D&View={653454F3-1CE4-48C1-967C-5BA6023D349E} 
+0

これは、1週間前に質問した質問の複製です。 – Jonathan

答えて

0

:私はちょうどからファイル名(「Test1という」)を引き出すことができるのJavascriptやjQueryのを必要としています。試してみてください

params = window.location.search.split(/&/) 

for (var i=0; i < params.length; i++) { 
    if (params[i].match(/^\??RootFolder=/)){ 
    paths = params[i].split(/\//); 
    filename = paths[paths.length-1]; 
    break; 
    } 
}; 
+0

それは最後の '/'文字の後ろにすべてを得ます。提供されたURLにはクエリ文字列も含まれているため、その部分を削除してファイル名を取得するために追加の解析が必要になります。 – TLS

+0

ええ、私は彼が探していたものを間違っていると思います...私は私の答えを更新します – Jonathan

0

@Jonathanが正しいトラックにあります。要求されたファイルの名前を見つけるのではなく、クエリ文字列から値を解析するように見えているようです。最初にクエリ文字列から値を取得する必要があります。 window.location.searchを使用すると、URLから完全なクエリー文字列を取得できます。クエリ文字列を解析して、必要な値を見つけます。そして、あなたは、ファイルの名前を取得するためにジョナサンの提案を使用して値を解析する準備が整いました

// parses the query string provided and returns the value 
function GetQueryVariable(query, name) { 
    if (query.indexOf("?") == 0) { query = query.substr(1); } 
    var pairs = query.split("&"); 
    for (var i = 0; i < pairs.length; i++) { 
     var pair = pairs[i].split("="); 
     if (pair[0] == name) { 
      return pair[1]; 
     } 
    } 
    return ""; 
} 

:ここにいることをして少しJS機能です。値をクエリー文字列からより簡単に解析できる「実際の」値に変換するには、アンエスケープ処理(JSメソッドunescapeを使用)を行う必要があります。

関連する問題