2012-03-02 6 views
0

は、私はこのようなURLを持って、リフレッシュすることなく、URLの一部を検索と置換:のJavaScript:HTML5のhistory.replacestate

http://site.com/images/961b7d0e50f0462a8828d31bf0874a71/lightbox 

私はstring.formatに必要な配列から別のGUIDとURLにGUIDを置き換えます(次回または前回)をクリックしたときにリフレッシュされません。

HTML:

<a id="replaceGUIDnext">Replace GUID to previous in Array</a> 
<a id="replaceGUIDprevious">Replace GUID to previous in Array</a> 

SCRIPT:String.Formatのに置き換える必要があり

var guids = ['3ffffb5fb7424c3d96f361fc18a753e0', '961b7d0e50f0462c8828c31bf0874a71', '62a96a75f4764c9ea3d9b65a47dce53d']; 
var baseURL = http://site.com/images/{1}/lightbox 

$('#replaceGUIDnext').click(function(){ 
    ...something goes here 
}); 

$('#replaceGUIDprevious').click(function(){ 
    ...something goes here 
}); 

注意{1}。

HTML5 history.replacestateを使用したいと思います。ブラウザがそれをサポートしていない場合、ブラウザは置換を無視するか、動作中のソリューションにフェールバックします。

+0

OK、MDNで 'replaceState'を検索しましたか? - https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history –

答えて

0

JavaScriptにはstring.formatがありません。代わりにreplaceを使用してください。

function changeIt(guid) { 
    if(history.replaceState) { 
     var newUrl = baseURL.replace("{1}", guid); 
     history.replaceState({ "guid" : guid}, guid, newUrl); 
    } 
} 
関連する問題