我有这个网址:
http://test.words.aspx#word_id=1034374#lang_code=en
我需要获取word_id和语言代码的值,并将它们分配给变量。
var word_id = 1034374;
var lang_kod = en;
答案 0 :(得分:0)
以下是您需要的代码:
var link = window.location;
var data = link.split("#");
var word_id = data[1].split("=")[1];
var lang_code = data[2].split("=")[1];
使用window.location
,您会获得当前的网址(另一种选择是document.location
。
然后用散列符号(link.split("#")
)拆分它,结果存储为一个字符串数组(data
),现在在索引0处包含http://test.words.aspx
,{{1在索引1处,word_id=1034374
在索引2处;
您现在要做的是将索引1处的字符串除以等号(lang_code=en
)。这也是一个字符串数组,其索引为data[1].split("=")
,索引为1 word_id
,这是您所需要的(1034374
)。
遵循相同的逻辑,您还可以获得data[1].split("=")[1]
变量。
在此测试:
lang_code

希望这有用:)
答案 1 :(得分:0)
你应该只有一个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/
注意:强>
如果您要使用多个网址片段,我建议您使用网址参数,例如: 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');