{"action":"opened","issue":{"url":"https://api.github.com/repos/chrsmith/html5rocks/issues/806","labels_url":"https://api.github.com/repos/chrsmith/html5rocks/issues/806/labels{/name}","comments_url":"https://api.github.com/repos/chrsmith/html5rocks/issues/806/comments","events_url":"https://api.github.com/repos/chrsmith/html5rocks/issues/806/events","html_url":"https://github.com/chrsmith/html5rocks/issues/806","id":59385783,"number":806,"title":"Change the way that using hash to mention tags into using search params.","user":{"login":"GoogleCodeExporter","id":9614759,"avatar_url":"https://avatars.githubusercontent.com/u/9614759?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCodeExporter","html_url":"https://github.com/GoogleCodeExporter","followers_url":"https://api.github.com/users/GoogleCodeExporter/followers","following_url":"https://api.github.com/users/GoogleCodeExporter/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCodeExporter/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCodeExporter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCodeExporter/subscriptions","organizations_url":"https://api.github.com/users/GoogleCodeExporter/orgs","repos_url":"https://api.github.com/users/GoogleCodeExporter/repos","events_url":"https://api.github.com/users/GoogleCodeExporter/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCodeExporter/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/chrsmith/html5rocks/labels/auto-migrated","name":"auto-migrated","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/html5rocks/labels/Milestone-Q12012","name":"Milestone-Q12012","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/html5rocks/labels/Priority-P1","name":"Priority-P1","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/html5rocks/labels/Type-Bug","name":"Type-Bug","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-03-01T06:54:50Z","updated_at":"2015-03-01T06:54:50Z","closed_at":null,"body":"```\nRelated to issue 793(http://code.google.com/p/html5rocks/issues/detail?id=793).\n\nThe method we're currently using to indicate tags are putting all of them in \nhash of URL which is not good. An side effect might be issue 793, even it got \nfixed, but the behavior is really bad. You see, that if we input things like \nhttp://master.html5rocks.appspot.com/en/tutorials#gaming, the page will scroll \ndown to the the bottom, and then, scroll to top. It doesn't look like a good \nexperience.\n\nThe thing that causes the page to scroll down is there're several invisible \n<div class=\"page\">s at the bottom of the page and, some of them own the id \nstrings as same as some of tags, like \"gaming\", \"mobile\".\n\nSo when the browser sees the #gaming hash tag, it will scroll down to the <div \nclass=\"page\" id=\"gaming\"> part. That's so bad.\n\nWe can fix that by changing all ids that have same strings as tags, or change \nthe hash to be more specific that will not conflict with any element ids. But I \ndon't think either of them are good enough.\n\nI think we could get rid of using hash to indicates tags, especially we have \nalready some mess code there do deal with hashchange event(look, the line 205 \nand 310 inside tutsapp.js are somehow against each other.)\n\nUsing search params may be neater, the url will be look like:\nhttp://master.html5rocks.appspot.com/en/tutorials?audience:business,gaming&tags=\ncanvas,webgl\nWhich is shorter and easier to read than our current implementation for same \npurpose:\nhttp://master.html5rocks.appspot.com/en/tutorials#audience:business,audience:gam\ning,canvas,webgl\n```\n\nOriginal issue reported on code.google.com by `han...@google.com` on 9 Feb 2012 at 3:30"}}