为什么我会收到错误-indexOf Uncaught TypeError
2015-08-10
230
问题出在哪里? 为什么找不到函数 indexOf 和 length?
window.onpopstate = function(event) {
var string1 = document.location;
var stringpos;
stringpos = string1.indexOf('#');
var hashstring = string1.substring(stringpos,string1.length());
alert(hashstring);
alert("location: " + document.location);
};
3个回答
document.location
是一个没有
indexOf
方法的对象。一般来说,只有字符串和数组才有该方法(而
document.location
不是这两种方法)。
我认为您想在
document.location.href
上使用
indexOf
,它是一个字符串:
document.location.href.indexOf('#');
Oriol
2015-08-10
尝试直接获取哈希值,而不是通过字符串操作。
window.onpopstate = function(event) {
var hashstring = document.location.hash;
alert(hashstring);
alert("location: " + document.location);
};
Victory
2015-08-10
首先使用
var string1 = document.location.href
或
var string1 = document.location.toString()
然后使用
string1.length
而不是
string1.length()
,后者会引发 Uncaught TypeError: string1.length is not a function
dezhik
2015-08-10