如何更改jQuery代码以隐藏URL末尾的.jpg?

时间:2013-01-27 13:39:39

标签: jquery colorbox

有人可以用这么短的代码帮助我吗? 现在,当我点击我网站上的缩略图图像时,它会在地址栏中创建网址。但是url最后有.jpg。 我应该如何修改代码,以便它不会在网址末尾显示.jpg?

如果用户使用www.domain.com/#image.jpg这样的网址进入网站,这段代码也会自动打开Colorbox图像,所以对代码的更改自然会对此产生影响。

谢谢!

jQuery(function() {
    var id, group;

    group = jQuery("a[rel='lightbox[63]']").colorbox({ 
        onComplete: function() {
            window.location.hash = (this.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1];
        }, 
        onClosed: function() {
            location.hash = '';
        }
    });

    id = location.hash.replace(/^\#/, '');
    group.filter('[href$="'+id+'"]').eq(0).click();
});

1 个答案:

答案 0 :(得分:1)

替换它:

window.location.hash = (this.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1];

有了这个:

// Get the image URL
with_ext = (this.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1];
// Get the image url without the extension
without_ext =   with_ext.substring(0, with_ext.lastIndexOf(".")));
// Redirect
window.location.hash = without_ext;

说明

  • my_str.lastIndexOf(".")返回字符串.
  • 中最后一个my_str字符的位置
  • my_str.substring(n, m),其中nm为数字,返回my_str中以nm个字符开头的字符 - {{ 3}}

实施例

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/substr