我有这样的网址:
http://site.com/images/961b7d0e50f0462a8828d31bf0874a71/lightbox
我需要string.format
将URL中的GUID替换为数组中的另一个GUID(下一个或上一个)而不刷新点击事件。
HTML:
<a id="replaceGUIDnext">Replace GUID to previous in Array</a>
<a id="replaceGUIDprevious">Replace GUID to previous in Array</a>
SCRIPT:
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}应该用string.format替换。
我想使用HTML5 history.replacestate
。如果浏览器不支持它,它应该忽略替换(或失败回到工作解决方案)。
答案 0 :(得分:0)
JavaScript没有string.format所以只需使用replace。
function changeIt( guid ) {
if( history.replaceState ) {
var newUrl = baseURL.replace("{1}", guid);
history.replaceState( { "guid" : guid}, guid, newUrl );
}
}