Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何捕获链接触发器以便传递参数?_Javascript_Php_Jquery_Html_Wordpress - Fatal编程技术网

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

Javascript 如何捕获链接触发器以便传递参数?,javascript,php,jquery,html,wordpress,Javascript,Php,Jquery,Html,Wordpress,我在一个客户的网站上工作,他们希望它是双语的。它基于wordpress,我购买了WPML插件。现在,我想添加一个语言切换按钮,但我无法做到这一点,同时仍然能够自定义并将其插入到我想要的任何位置,因此我提出了一个解决方案: 仅当url满足参数?lang=en时,页面呈现内容才会被翻译。因此,如果url为www.website.com/page,则页面将正常呈现;如果url为www.website.com/page?lang=en,则页面内容将以英语呈现 根据这个方案,我提出了使用href定制开关按

我在一个客户的网站上工作,他们希望它是双语的。它基于wordpress,我购买了WPML插件。现在,我想添加一个语言切换按钮,但我无法做到这一点,同时仍然能够自定义并将其插入到我想要的任何位置,因此我提出了一个解决方案:

仅当url满足参数?lang=en时,页面呈现内容才会被翻译。因此,如果url为www.website.com/page,则页面将正常呈现;如果url为www.website.com/page?lang=en,则页面内容将以英语呈现

根据这个方案,我提出了使用href定制开关按钮的解决方案。然而,一旦他选择了一种语言,我希望他在浏览网站时保持这种语言


现在,当他访问另一个页面来传递这个参数时,如果他当前页面的url中包含?lang=en,我如何使网站以这种方式工作?到目前为止,我能够检查一个页面是否包含这个参数,现在我不知道如何传递它,我说的是用jquery在javascript中这样做。

将它存储在会话变量中可能是最好的,但是既然您询问了,您可以像下面一样解析查询字符串。如果在之后有任何内容,您可能还需要将其拆分为queryStr=queryStr.split[0]


我建议您在服务器端使用会话变量来存储语言设置,而不必手动附加到用户可能访问的每个URL
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;
}