Google 閉鎖コードに問題があります。HTML5 履歴機能を使用してアプリを実装しようとしています。
しかし残念ながら、Chrome では「CANNOT READ PROPERTY 'HTML5HISTORY' OF UNDEFINED」、Firefox では「goog.history is undefined」が表示されるため、これは機能しません。
「try/catch」ループからエラーが発生し、error.message が表示されるため、基本的に「var h」は履歴インスタンスで作成されません。
何が問題なのか本当にわかりません...
みんなありがとう
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();
}
});
}