{"action":"created","issue":{"url":"https://api.github.com/repos/whatwg/html/issues/459","labels_url":"https://api.github.com/repos/whatwg/html/issues/459/labels{/name}","comments_url":"https://api.github.com/repos/whatwg/html/issues/459/comments","events_url":"https://api.github.com/repos/whatwg/html/issues/459/events","html_url":"https://github.com/whatwg/html/issues/459","id":124666789,"number":459,"title":"Cancel page refresh","user":{"login":"AndySky21","id":9639512,"avatar_url":"https://avatars.githubusercontent.com/u/9639512?v=3","gravatar_id":"","url":"https://api.github.com/users/AndySky21","html_url":"https://github.com/AndySky21","followers_url":"https://api.github.com/users/AndySky21/followers","following_url":"https://api.github.com/users/AndySky21/following{/other_user}","gists_url":"https://api.github.com/users/AndySky21/gists{/gist_id}","starred_url":"https://api.github.com/users/AndySky21/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AndySky21/subscriptions","organizations_url":"https://api.github.com/users/AndySky21/orgs","repos_url":"https://api.github.com/users/AndySky21/repos","events_url":"https://api.github.com/users/AndySky21/events{/privacy}","received_events_url":"https://api.github.com/users/AndySky21/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/whatwg/html/labels/addition/proposal","name":"addition/proposal","color":"d4c5f9"},{"url":"https://api.github.com/repos/whatwg/html/labels/needs%20implementer%20interest","name":"needs implementer interest","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-01-03T19:30:02Z","updated_at":"2016-01-04T15:14:29Z","closed_at":null,"body":"https://html.spec.whatwg.org/multipage/semantics.html#table-http-equiv\r\n\r\n> After the refresh has come due (as defined below), if the user has not canceled the redirect\r\n\r\n> the user agent may, as with anything, inform the user of any and all aspects of its operation, including the state of any timers, the destinations of any timed redirects, and so forth.\r\n\r\nAs far as I know, no UAs allow users to even *know* there's a possible meta refresh for a page, let alone would they prompt the user to choose whether or not s/he wants to be redirected.\r\nAuthors can easily create an extension to detect a redirect, and also to let users know how much time is left between the page reload, or the destination. What authors cannot do is stopping due refresh.\r\n\r\nSome authors actually tried to do so (there are 2 Chrome extensions promising to stop redirect), but still they cannot be useful against HTTP \"refresh\" header or meta elements in \"refresh\" state.\r\n\r\nRefresh is often obtained through scripted solutions, and that's probably because authors can take into account the possibility to alter that redirect somehow (delaying it or changing destination URL). There would be no way to do it, were the redirect inserted with a meta element (this is said to account against webpages in search engine results, for the matter of usability). You must admit that redirecting script solutions end up being extremely sparse and difficult to track down, though.\r\n\r\nA meta refresh element exists in some pages (and if exploited properly it could be used as a fallback for more advanced content refresh/update solutions). If a page has no HTTP(-equiv) \"refresh\", it cannot be said whether or not it will reload, but if such directive does exist, it CAN be said without any doubt... and it can also be said that there's no escape.\r\n\r\nSo:\r\n\r\n1. Why aren't UAs expected to expose at least an interface for HTTP(-equiv) \"refresh\", so that it can be read and/or blocked by a script?\r\n2. If (1) is not viable, why not simply allowing page reload to be stopped by simply removing `<meta http-equiv=\"refresh\" />`?"},"comment":{"url":"https://api.github.com/repos/whatwg/html/issues/comments/168702738","html_url":"https://github.com/whatwg/html/issues/459#issuecomment-168702738","issue_url":"https://api.github.com/repos/whatwg/html/issues/459","id":168702738,"user":{"login":"zcorpan","id":244772,"avatar_url":"https://avatars.githubusercontent.com/u/244772?v=3","gravatar_id":"","url":"https://api.github.com/users/zcorpan","html_url":"https://github.com/zcorpan","followers_url":"https://api.github.com/users/zcorpan/followers","following_url":"https://api.github.com/users/zcorpan/following{/other_user}","gists_url":"https://api.github.com/users/zcorpan/gists{/gist_id}","starred_url":"https://api.github.com/users/zcorpan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zcorpan/subscriptions","organizations_url":"https://api.github.com/users/zcorpan/orgs","repos_url":"https://api.github.com/users/zcorpan/repos","events_url":"https://api.github.com/users/zcorpan/events{/privacy}","received_events_url":"https://api.github.com/users/zcorpan/received_events","type":"User","site_admin":false},"created_at":"2016-01-04T15:14:29Z","updated_at":"2016-01-04T15:14:29Z","body":"> it fails to recognize an anchor URL: if refresh content is \"5: URL=#example\", Firefox, as well as IE and Edge, recalls the anchor without a page reload (Opera and Chrome reload the page instead)\r\n\r\n> As a side note, I guess there's a need to standardise some aspects of meta refresh, particularly about internal anchors).\r\n\r\nThis is defined in the spec AFAICT.\r\n\r\nhttps://html.spec.whatwg.org/multipage/semantics.html#attr-meta-http-equiv-refresh\r\n->\r\nhttps://html.spec.whatwg.org/multipage/browsers.html#navigate\r\n->\r\nhttps://html.spec.whatwg.org/multipage/browsers.html#scroll-to-fragid\r\n->\r\nhttps://html.spec.whatwg.org/multipage/browsers.html#traverse-the-history\r\n->\r\nhttps://html.spec.whatwg.org/multipage/browsers.html#scroll-to-the-fragment-identifier\r\n\r\nCan you file an issue at https://code.google.com/p/chromium/issues/list ?"}}