Cross Reference: /yui3/src/app/tests/manual/chrome-early-pushstate.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove<!DOCTYPE html>
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove<html lang="en">
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove<head>
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove <meta charset="utf-8">
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove <title>Chrome early pushState bug</title>
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove</head>
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove<body>
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove<h1>Chrome early pushState bug</h1>
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove<script src="/build/yui/yui.js"></script>
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove<script>
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grovewindow.onpopstate = function (e) {
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove console.log('popstate: ' + window.location.pathname);
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove console.log(e);
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove};
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove// Create a new YUI instance and populate it with the required modules.
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan GroveYUI({filter: 'raw'}).use('controller', function (Y) {
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove var controller = new Y.Controller({
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove root: '/mysite',
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove routes: [
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove {path: '/', callback: function () { console.log('Hello!'); }},
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove {path: '/pie', callback: function () { console.log('Mmm. Pie.'); }}
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove ]
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove });
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove window.controller = controller;
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove controller.save("/pie");
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove controller.save("/");
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove controller.save("/pie");
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove});
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove</script>
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove</body>
5125fb9611d90216a17ec67d0bd8a7b17b2fb734Ryan Grove</html>