我在第getUrlVars() {
行的控制台中收到错误
未捕获的SyntaxError:意外的令牌{
<!DOCTYPE html>
<html>
<head>
<script>
document.getElementById('myelement').onclick = function() {
function getUrlVars() {
var url = window.location.href;
console.log(url.substring(url.indexOf('?')));
}
}
</script>
</head>
<body>
<a id="myelement" href="#">some link</a>
</body>
</html>
如何解决?
答案 0 :(得分:0)
如果这是您的实际代码,请注意:您尚未放置&#34;命令行标记的结尾&#34; ;
结尾的getUrlVars()
,document.getElementById('myelement').onclick
行的document.getElementById('myelement').onclick = function() {
var url = window.location.href;
console.log(url.substring(url.indexOf('?')));
};
行。此外,您正在创建一个创建函数的函数,这是不必要的。
试试这个:
{{1}}
答案 1 :(得分:0)
请尝试以下JS,
window.onload = function() {
document.getElementById('myelement').onclick = function getUrlVars() {
var url = window.location.href;
console.log(url.substring(url.indexOf('?')));
}
}
变更:
a)将在窗口加载完成后执行任何操作
b)函数getUrlVars是锚点标记
上发生单击时的函数这是一个fiddle LINK
答案 2 :(得分:0)
这是一个小JS,允许您根据名称从queryString中获取参数。
<script>
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];
}
}
};
</script>
如何使用脚本作为参数:
<script>
$(document).ready(function(){
if(getUrlParameter("numeParametru "))
alert(getUrlParameter("ParameterName"));
var myParam = getUrlParameter("ParameterName");
//do stuff;
});
</script>
像这样,如果参数存在,你可以随心所欲地做任何事情。