我的 Google 关闭代码有问题。我正在尝试使用 HTML5 History 功能实现一个应用程序。
但不幸的是,这不起作用,因为我在 Chrome 上得到一个“无法读取属性 'HTML5HISTORY' OF UNDEFINED”,而在 Firefox 上得到一个“goog.history is undefined”。
基本上,“var h”永远不会用 History 实例创建,因为我从“try/catch”循环中得到错误,并显示 error.message。
我真的不知道是什么问题...
多谢你们
goog.require('goog.events');
goog.require('goog.events.EventTarget');
goog.require('goog.history.EventType');
goog.require('goog.history.Html5History');
goog.require('goog.Uri');
var h;
try {
h = new goog.history.Html5History();
} catch (e) {
document.write(e.message);
}
if (h) {
var cur = 'kittens';
goog.events.listen(h, goog.history.EventType.NAVIGATE, function(e) {
var token = e.token || 'kittens';
var next = document.getElementById(token);
if (next) {
document.getElementById(cur).className = 'section';
next.className = 'section active';
cur = token;
}
});
h.setUseFragment(false);
h.setPathPrefix(new goog.Uri(document.location.href).getPath() + '/');
h.setEnabled(true);
goog.events.listen(document.getElementById('links'), 'click', function(e) {
if (e.target.tagName == 'A') {
h.setToken(e.target.getAttribute('token'), e.target.title);
e.preventDefault();
}
});
}