我需要使用 jquery 从 (#) 之后的 url 获取值
I need to get values from a url after (#) with jquery
我有这个url:
http://test.words.aspx#word_id=1034374#lang_code=en
我需要获取 word_id 和语言代码的值并将它们分配给变量。
var word_id = 1034374;
var lang_kod = en;
这是您需要的代码:
var link = window.location;
var data = link.split("#");
var word_id = data[1].split("=")[1];
var lang_code = data[2].split("=")[1];
使用 window.location
,您将获得当前的 url(另一种选择是 document.location
。
然后用散列符号 (link.split("#")
) 将其拆分,结果存储为字符串数组 (data
),现在在索引 0 处包含 http://test.words.aspx
,word_id=1034374
在索引 1 和 lang_code=en
在索引 2;
您现在要做的是用等号 (data[1].split("=")
) 将索引 1 处的字符串拆分。这也是一个字符串数组,它在索引 0 处具有 word_id
,在索引 1 处具有 1034374
,这正是您所需要的 (data[1].split("=")[1]
).
按照相同的逻辑,您还可以获得 lang_code
变量。
在这里测试:
var link = "http://test.words.aspx#word_id=1034374#lang_code=en"
var data = link.split("#");
var word_id = data[1].split("=")[1];
var lang_code = data[2].split("=")[1];
console.log("Word ID = " + word_id);
console.log("Lang Code = " + lang_code);
希望这对您有所帮助:)
你真的应该只有一个 URL 片段。但在您的情况下,您可以执行以下操作来实现此目的。
var url = "http://test.words.aspx#word_id=1034374#lang_code=en"; // or use window.location;
var url_splitted = url.split('#');
alert((url_splitted[1]).split('=')[1]); // showing you the values
alert((url_splitted[2]).split('=')[1]); // showing you the values
var work_id = (url_splitted[1]).split('=')[1];
var lang_code = (url_splitted[2]).split('=')[1];
工作 JSFiddle:https://jsfiddle.net/o0nwyvfz/
注:
如果您要使用多个 URL 片段,我建议您使用 URL 参数,例如:http://test.words.aspx?word_id=1034374&lang_code=en
您可以通过以下方式检索:
解决方案提供者:http://www.jquerybyexample.net/2012/06/get-url-parameters-using-jquery.html
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : sParameterName[1];
}
}
};
假设 URL 是,这就是你如何使用这个函数,
http://test.words.aspx?word_id=1034374&lang_code=en
var tech = getUrlParameter('word_id');
var blog = getUrlParameter('lang_code');
我有这个url:
http://test.words.aspx#word_id=1034374#lang_code=en
我需要获取 word_id 和语言代码的值并将它们分配给变量。
var word_id = 1034374;
var lang_kod = en;
这是您需要的代码:
var link = window.location;
var data = link.split("#");
var word_id = data[1].split("=")[1];
var lang_code = data[2].split("=")[1];
使用 window.location
,您将获得当前的 url(另一种选择是 document.location
。
然后用散列符号 (link.split("#")
) 将其拆分,结果存储为字符串数组 (data
),现在在索引 0 处包含 http://test.words.aspx
,word_id=1034374
在索引 1 和 lang_code=en
在索引 2;
您现在要做的是用等号 (data[1].split("=")
) 将索引 1 处的字符串拆分。这也是一个字符串数组,它在索引 0 处具有 word_id
,在索引 1 处具有 1034374
,这正是您所需要的 (data[1].split("=")[1]
).
按照相同的逻辑,您还可以获得 lang_code
变量。
在这里测试:
var link = "http://test.words.aspx#word_id=1034374#lang_code=en"
var data = link.split("#");
var word_id = data[1].split("=")[1];
var lang_code = data[2].split("=")[1];
console.log("Word ID = " + word_id);
console.log("Lang Code = " + lang_code);
希望这对您有所帮助:)
你真的应该只有一个 URL 片段。但在您的情况下,您可以执行以下操作来实现此目的。
var url = "http://test.words.aspx#word_id=1034374#lang_code=en"; // or use window.location;
var url_splitted = url.split('#');
alert((url_splitted[1]).split('=')[1]); // showing you the values
alert((url_splitted[2]).split('=')[1]); // showing you the values
var work_id = (url_splitted[1]).split('=')[1];
var lang_code = (url_splitted[2]).split('=')[1];
工作 JSFiddle:https://jsfiddle.net/o0nwyvfz/
注:
如果您要使用多个 URL 片段,我建议您使用 URL 参数,例如:http://test.words.aspx?word_id=1034374&lang_code=en
您可以通过以下方式检索:
解决方案提供者:http://www.jquerybyexample.net/2012/06/get-url-parameters-using-jquery.html
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : sParameterName[1];
}
}
};
假设 URL 是,这就是你如何使用这个函数, http://test.words.aspx?word_id=1034374&lang_code=en
var tech = getUrlParameter('word_id');
var blog = getUrlParameter('lang_code');