{"id":634,"date":"2011-07-26T15:14:59","date_gmt":"2011-07-26T13:14:59","guid":{"rendered":"http:\/\/blog.kodono.info\/wordpress\/?p=634"},"modified":"2011-08-08T16:32:22","modified_gmt":"2011-08-08T14:32:22","slug":"evenement-sur-la-fermeture-dune-fenetre-window-close-javascript","status":"publish","type":"post","link":"https:\/\/blog.kodono.info\/wordpress\/2011\/07\/26\/evenement-sur-la-fermeture-dune-fenetre-window-close-javascript\/","title":{"rendered":"Ev\u00e9nement sur la fermeture d&#8217;une fen\u00eatre (window close) [javascript]"},"content":{"rendered":"<p>[niveau: interm\u00e9diaire]<\/p>\n<p>Il est possible d&#8217;effectuer une action sur la page avant que l&#8217;utilisateur ne quitte la page (en la fermant, la rechargeant, en navigant dans l&#8217;historique, ou en cliquant sur un lien). Pour cela utilisez la m\u00e9thode ci-dessous (via <a href=\"https:\/\/developer.mozilla.org\/En\/DOM\/Window.onbeforeunload\">MDN<\/a>) :<\/p>\n<div class=\"code script\">\n<pre class=\"js\">window.onbeforeunload = function (e) {\r\n  e = e || window.event;\r\n  \/\/ For IE and Firefox prior to version 4\r\n  if (e) e.returnValue = 'Any string';\r\n\r\n  \/\/ For Safari\r\n  return 'Any string';\r\n};<\/pre>\n<\/div>\n<p>Si vous ne voulez pas ce comportement pour un clic sur un lien, alors il faudra g\u00e9rer une variable qui sera activ\u00e9e lors d&#8217;un clic sur un tag A (exemple avec jQuery) :<\/p>\n<div class=\"code script\">\n<pre class=\"js\">\r\n__okForClosing = false;\r\nwindow.onbeforeunload = function (e) {\r\n  if (!__okForClosing) {\r\n    e = e || window.event;\r\n    \/\/ For IE and Firefox prior to version 4\r\n    if (e) e.returnValue = 'Any string';\r\n\r\n    \/\/ For Safari\r\n    return 'Any string';\r\n  }\r\n};\r\n$('a').click(function() { __okForClosing=true; });<\/div><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>[niveau: interm\u00e9diaire] Il est possible d&#8217;effectuer une action sur la page avant que l&#8217;utilisateur ne quitte la page (en la fermant, la rechargeant, en navigant dans l&#8217;historique, ou en cliquant sur un lien). Pour cela utilisez la m\u00e9thode ci-dessous (via MDN) : window.onbeforeunload = function (e) { e = e || window.event; \/\/ For IE [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","hide_page_title":"","footnotes":""},"categories":[13,33],"tags":[24,152,158],"class_list":["post-634","post","type-post","status-publish","format-standard","hentry","category-niveau-intermediaire","category-programmation","tag-javascript","tag-niveau-intermediaire","tag-programmation"],"_links":{"self":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/comments?post=634"}],"version-history":[{"count":4,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/634\/revisions"}],"predecessor-version":[{"id":656,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/634\/revisions\/656"}],"wp:attachment":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/media?parent=634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/categories?post=634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/tags?post=634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}