【问题标题】:jQuery removing hash value from URLjQuery 从 URL 中删除哈希值
【发布时间】:2010-03-05 10:10:14
【问题描述】:

我有一个这样的硬编码 URL:

https://bupacouk.bwa.local.internal.bupa.co.uk/cash-plan-quote/quoteAction.do?getBenefitLevelDetails=getBenefitLevelDetails&productPolicyId=7841#a1

当启用 Javascript 时,我不想要最后的哈希值,那么如何删除它?

当 Javascript 被禁用时,它需要存在。

谢谢。

编辑

这是我正在使用的 AJAX jQuery。所以我将硬编码的 URL 传递到服务器上的同一页面并从中检索表:

        // Find href of current tab
    var $tabValue = $(this).attr('href');

    // AJAX new table in
    $.ajax({
        type: "GET",
        cache: false,
        url: $(this).attr('href'),
        success: function(data){

        // Find benefit wrap
        $(data).find('.benefitWrap').each(function(){
            // get the contents
            var $benefitWrap = $(this).html();
            // replace contents on page
            $('.benefitWrap').replaceWith($('<div class="benefitWrap">' + $benefitWrap + '</div>'));

        });

       }

    });

【问题讨论】:

  • 请提供更多信息。你的 jQuery 是什么样的?

标签: javascript jquery fragment-identifier


【解决方案1】:

这对我有用。我添加了! 以防止页面向上滚动。

window.location.hash="!";

【讨论】:

  • 太好了。不敢相信我差不多十年前就问过这个问题了,哈哈
【解决方案2】:

原创

这取决于哈希值的作用。如果它只是将文档向下移动到#a1,您只需在文档加载后将scrollTop设置为0即可。

编辑

查看其他 stackoverflow 问题,

parent.location.hash = ''

应该这样做,但是也许会重新加载页面(您必须对其进行测试)

除此之外,我建议您在 AJAX 调用期间/之前处理它 - 即

if (hash != 'a1'){ doAjax(); } //pseudocode obviously.

使用基于发布代码的代码编辑 2

或者,如果你只需要使用url没有哈希调用AJAX,你可以在字符串中删除它,调用jQuery,不是吗?

var $tabValue = $(this).attr('href');
var $withoutHash = $tabValue.substr(0,$tabValue.indexOf('#'));

我们基本上在第一个#之前得到一个href

【讨论】:

  • 我需要完全删除它,因为它会导致一些 AJAX 失败。
【解决方案3】:

一个简单的window.location.hash="" 就可以了。

【讨论】:

  • 你不需要使用jQuery来执行这个语句。
  • hmm .. 这给我留下了 mypage.htm# ......我错过了什么吗?我想看看 mypage.htm
  • 使用此解决方案,一些浏览器会在末尾保留哈希值,而有些则不会。
【解决方案4】:

这可能对提出相同问题的人有所帮助,即如何在 href 中提取 # 之后的数据。

this.hash.slice(1);

这会将 #123 设为 123。


编辑:我可能应该注意,如果你要从这些数据中计算数字,最好使用parseInt(this.hash.slice(1));,否则你会得到时髦的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-22
    • 2011-05-29
    • 2012-04-19
    • 2013-05-15
    • 2013-03-02
    • 1970-01-01
    • 2017-05-31
    相关资源
    最近更新 更多