我目前正在计算应用程序中已打开标签的数量。但我的问题是我的脚本似乎不会检测事件onload。这是我的代码。 我正在使用HTML5网络存储和本机js。我没有使用jQuery来理解本地js的更多信息。
(function(w) {
function Tabz(win, key) {
this.name = '';
this.storageKey = key;
if(win.name != '')
this.name = win.name;
else {
var windowArr = JSON.parse(localStorage.getItem(key)) || [];
this.name = "tabz_"+ windowArr.length;
win.name = this.name;
windowArr.push(this.name);
localStorage.setItem(this.storageKey, JSON.stringify(windowArr) );
}
}
Tabz.prototype.getStorage = function() {
return localStorage.getItem(this.storageKey);
}
Tabz.prototype.removeWindow = function() {
//remove window function here
}
var newWindow = new Tabz(w, 'counter');
window.load = function() {
var count = JSON.parse(newWindow.getStorage()).length;
alert(count!); // this wont execute so that I can check the count.
}
})(window);
答案 0 :(得分:4)
您的问题就在这一行:
window.load = function() {
这将向窗口添加load
属性,而不是添加事件侦听器。我想你正在寻找onload
。
window.onload = function() {
顺便说一下,使用事件属性被视为不良做法。使用addEventListener会更好。
window.addEventListener("load", function(){
//Do stuff...
});