【问题标题】:Execute a function after a redirection jQuery / JavaScript重定向后执行一个函数 jQuery / JavaScript
【发布时间】:2023-04-09 06:42:01
【问题描述】:

我想在我的网站重定向后执行一个函数。这是我的代码:

$('a.filter-redirect').on('click', function(){

       window.location.replace('/technos/');
       filter();

});

这是我的“过滤器”函数:

$('a.filter-tech').on('click', function filter(){

        var tag = $(this).attr('rel');
        var val_input = $('#tag').val();

        if(tag === val_input){

            $('#tag').val('');
            $('#form').submit();

        }

        if(val_input){

            $('#tag').val(val_input + ',' + tag)

        }

        $('#tag').val(tag);
        $('#form').submit();
        return false;
});

我不是 JS 和 jQuery 方面的专家,代码可能有误。我的功能有效,但重定向后无效。

【问题讨论】:

    标签: javascript jquery function redirect


    【解决方案1】:

    当您重定向到新页面时,前一页上的脚本不再执行。因此,您必须在加载新页面后立即调用此函数,例如在$(window).load()$(document).ready() 上而不是在上一页的点击上。

    $(document).ready(function(){
           var tag = $(this).attr('rel');
            var val_input = $('#tag').val();
    
            if(tag === val_input){
    
                $('#tag').val('');
                $('#form').submit();
    
            }
    
            if(val_input){
    
                $('#tag').val(val_input + ',' + tag)
    
            }
    
            $('#tag').val(tag);
            $('#form').submit();
            return false;
    
    })
    

    【讨论】:

    • 谢谢你的回答我知道你想去哪里但是当我点击一个链接时我的函数已经执行了。如何在重定向的同一页面和何时继续之间做出区别?我有一个名为“technos”的页面,其中包含对我的文章进行排序的过滤器链接。在一篇文章中,我有一个链接必须重定向到“technos”页面,然后对我的文章进行排序,你知道吗?这并不容易解释,我尽力了:)
    • 您可以在首页上进行所有计算和条件检查,然后通过在 URL 中的查询字符串中传递计算结果来重定向到目标页面。在目标页面上获取查询字符串并决定您想要做什么。 @Beno
    • 我很抱歉,但我不太明白... :/
    【解决方案2】:

    当您重定向页面位置更改时,这意味着加载了新页面而旧页面消失了。 要在新页面中执行某些操作,您必须在该页面中添加它(例如在加载时的正文中或在脚本标签中)

    【讨论】:

      【解决方案3】:

      当您转到新页面时,将所有必需的代码保存在 $(document).ready()window.load()

      像这样的

      function runOnPageLoad() {
              alert('Hey There');
          }
          window.onload = runOnPageLoad;
      

      或者在jquery中作为

        $(document).ready ( function(){
          alert('Hey There');
      });​
      

      希望对你有帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-21
        • 1970-01-01
        • 1970-01-01
        • 2019-05-12
        • 1970-01-01
        • 2019-10-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多