当尝试添加url params时,Jquery添加哈希符号

时间:2016-03-30 12:19:37

标签: javascript php jquery

当我尝试使用location.hash在现有网址中添加新参数时,我遇到了问题。添加新的两个参数后,哈希符号会自动添加到网址#

我有链接:http://work.example.rs/index.php/profile/photos点击我打开新的模态窗口我加载完整尺寸的图像并添加新的参数到网址,如photo_idphoto_guid

preview: function() {
    $('body').on('click', '#open-picture-modal', function (e) {
        e.preventDefault();
        var $this = $(this);
        var guid = $this.data('guid');
        var photo_id = $this.data('id');

        var url = baseurl + '/picture/preview/?pgid='+guid+'&pid='+photo_id;

        location.hash = "&pgid="+guid+"&pid="+photo_id; // <-- Here is line 

    });
},

打开模态网址后更改如下: http://work.example.rs/index.php/profile/photos#&pgid=E10B6F66-9686-9E29-55BA-3C197004F608&pid=6

在这个网址中你可以看到网址中的#已添加,我不知道whay?

HTML:

<?php $image_path = upload_userdata_url() .'/'. $photo->owner_id .'/'.'photos/'.$photo->photo_guid .'/'. $photo->photo_name;?>
<a href="<?= $image_path;?>" class="thumbnail" data-guid="<?= $photo->photo_guid; ?>" data-id="<?= $photo->photo_id; ?>" id="open-picture-modal" data-gallery>
<div class="uiMediaThumbImg" style="background-image: url(<?=$image_path;?>);"></div>
</a>

1 个答案:

答案 0 :(得分:1)

您正在使用hash#符号附加到网址。您可以HTML5

提供History API用户

替换你的行

location.hash = "&pgid="+guid+"&pid="+photo_id;

window.history.pushState('', '', "&pgid="+guid+"&pid="+photo_id);