为了账号安全,请及时绑定邮箱和手机立即绑定

如何捕获链接触发器以便传递参数?

如何捕获链接触发器以便传递参数?

慕姐8265434 2021-06-29 05:07:03
我在一个客户的网站上工作,他们希望它是双语的。它基于 wordpress,我购买了 WPML 插件。现在,我想添加一个语言切换按钮,但我无法做到这一点,同时仍然能够自定义并将其插入任何我想要的地方,所以我想出了一个解决方案:只有当 url 满足参数“?lang=en”时,页面才会呈现内容翻译,因此如果 url 是“www.website.com/page”,它将正常呈现,如果 url 是“www.website.com/ page?lang=en" 它的内容将是英文的。我想出了根据这个方案制作带有href的自定义开关按钮的解决方案。但是,一旦他选择了一种语言,我希望它在浏览网站时保持不变。现在,如果他的当前页面在 url 中包含“?lang=en”,当他访问另一个页面以传递此参数时,我该如何使网站以这种方式工作?到目前为止,我能够检查页面是否包含此参数,但现在我不知道如何传递它(我说的是使用 jquery 在 javascript 中执行此操作)。
查看完整描述

1 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

将它存储在会话变量中可能是最好的,但是既然你问了,你可以像下面一样解析查询字符串。如果您在 之后有任何事情,#您可能也想split()关闭它 ( queryStr = queryStr.split('#')[0];)。


function parseQuery(url) {

    var queryStr = url ? url.split('?')[1] : location.search.slice(1),

        query = {};

    if (queryStr !== '') {

        var params = queryStr.split('&');

        for (var i = 0; i < params.length; i++) {

            var param = params[i].split('=');

            query[decodeURIComponent(param[0])] = decodeURIComponent(param[1] || '');

         }

    }        

    return query;

}


查看完整回答
反对 回复 2021-07-01
  • 1 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信