{"action":"created","issue":{"url":"https://api.github.com/repos/defunkt/jquery-pjax/issues/284","repository_url":"https://api.github.com/repos/defunkt/jquery-pjax","labels_url":"https://api.github.com/repos/defunkt/jquery-pjax/issues/284/labels{/name}","comments_url":"https://api.github.com/repos/defunkt/jquery-pjax/issues/284/comments","events_url":"https://api.github.com/repos/defunkt/jquery-pjax/issues/284/events","html_url":"https://github.com/defunkt/jquery-pjax/pull/284","id":15171299,"number":284,"title":"Update <meta> and <link> tags on PJAX requests and popstate","user":{"login":"duzun","id":321424,"avatar_url":"https://avatars.githubusercontent.com/u/321424?v=3","gravatar_id":"","url":"https://api.github.com/users/duzun","html_url":"https://github.com/duzun","followers_url":"https://api.github.com/users/duzun/followers","following_url":"https://api.github.com/users/duzun/following{/other_user}","gists_url":"https://api.github.com/users/duzun/gists{/gist_id}","starred_url":"https://api.github.com/users/duzun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/duzun/subscriptions","organizations_url":"https://api.github.com/users/duzun/orgs","repos_url":"https://api.github.com/users/duzun/repos","events_url":"https://api.github.com/users/duzun/events{/privacy}","received_events_url":"https://api.github.com/users/duzun/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":36,"created_at":"2013-06-05T14:01:41Z","updated_at":"2016-05-25T08:01:05Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/defunkt/jquery-pjax/pulls/284","html_url":"https://github.com/defunkt/jquery-pjax/pull/284","diff_url":"https://github.com/defunkt/jquery-pjax/pull/284.diff","patch_url":"https://github.com/defunkt/jquery-pjax/pull/284.patch"},"body":"An HTML document has at least four components:\r\n1. visible contents (`<body>`)\r\n2. properties (`<meta>`, `<title>`, `<!doctype>`, some `<link>` tags)\r\n3. resources (`<link rel=\"stylesheet\">`, `<link rel=”icon”>`, `<img />`, ...)\r\n4. behavior or program logic (`<script>`)\r\n\r\n\r\nPJAX should take care of all these aspects.\r\nPJAX main goal is to speed up browsing the web site by loading only the different/missing parts of the document and reusing the loaded ones.\r\n\r\n\r\nAt each PJAX request the following should happen with each of the documents' components:\r\n\r\n1. Only a piece of `<body>` is loaded from server and replaced into the document at the corresponding position.\r\n\r\n2. Some properties of the document are common to the hole web site, but some (like `<title>` and some `<meta>`) are specific to each document/uri. If server is “aware” of PJAX and serves document specific meta information in PJAX responses, PJAX (JS part) should replace this meta information in the document, correspondingly.\r\n\r\n3. Some resources are located in `<head>`, some in the `<body>` of the document.\r\nThe browser takes care of `<body>` resources automatically when the corresponding html code is inserted into `<body>` by PJAX.\r\nResources from `<head>` should be managed by PJAX JS.\r\n`<link rel=\"stylesheet\">` is an exception and should be managed by JS application (not PJAX), cause it also “contains” program logic (visibility, positioning, transitions etc.) and loading CSS files at PJAX request is against main goal of PJAX (CSS load would occur after PJAX response received and thus CSS loading should start before PJAX request and hopefully will end just before PJAX inserts new contents into the page).\r\n\r\n4. Websites’ program logic is a complex part. PJAX itself is part of websites’ program logic. So, i think PJAX only needs to have a good API to interact with the web application, but is not responsible of loading and running any code on server requests or history state changes outside explicit API interactions."},"comment":{"url":"https://api.github.com/repos/defunkt/jquery-pjax/issues/comments/221501001","html_url":"https://github.com/defunkt/jquery-pjax/pull/284#issuecomment-221501001","issue_url":"https://api.github.com/repos/defunkt/jquery-pjax/issues/284","id":221501001,"user":{"login":"rachelnabors","id":236306,"avatar_url":"https://avatars.githubusercontent.com/u/236306?v=3","gravatar_id":"","url":"https://api.github.com/users/rachelnabors","html_url":"https://github.com/rachelnabors","followers_url":"https://api.github.com/users/rachelnabors/followers","following_url":"https://api.github.com/users/rachelnabors/following{/other_user}","gists_url":"https://api.github.com/users/rachelnabors/gists{/gist_id}","starred_url":"https://api.github.com/users/rachelnabors/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rachelnabors/subscriptions","organizations_url":"https://api.github.com/users/rachelnabors/orgs","repos_url":"https://api.github.com/users/rachelnabors/repos","events_url":"https://api.github.com/users/rachelnabors/events{/privacy}","received_events_url":"https://api.github.com/users/rachelnabors/received_events","type":"User","site_admin":false},"created_at":"2016-05-25T08:01:04Z","updated_at":"2016-05-25T08:01:04Z","body":"Also +1\nOn Wed, May 25, 2016 at 09:35 Dumitru Uzun <notifications@github.com> wrote:\n\n> @lustremedia <https://github.com/lustremedia>, when author/owner of the\n> repo agrees with the concept, I would make a rebase and prepare the PR for\n> merge :-)\n>\n> —\n> You are receiving this because you commented.\n> Reply to this email directly or view it on GitHub\n> <https://github.com/defunkt/jquery-pjax/pull/284#issuecomment-221495811>\n>\n-- \nCurator of Web Animation Weekly\nSpeaking & Workshops\n• Apr 05 –06 SmashingConf, San Francisco\n• Apr 21 Frontend Masters, online, CSS Animations and Transitions Master\nClass\n• May 18 –20 Front-Trends Keynote, Warsaw\n• Jun 01 CSSconf Nordic, Oslo\n"}}
{"actor":{"display_login":"rachelnabors"}}