ページ離脱時にポップアップ表示
formのsubmitの際はポップアップ非表示
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | < h1 >商品ページ</ h1 > < form action = "/" method = "get" id = "form" class = "form-example" > < div class = "form-example" > < label for = "name" >商品名: </ label > < input type = "text" name = "name" id = "name" value = "チョコレート" > </ div > < div class = "form-example" > < label for = "name" >購入者名: </ label > < input type = "text" name = "name" id = "name" > </ div > < div class = "form-example" > < label for = "email" >個数: </ label > < input type = "number" name = "number" value = "1" > </ div > < div class = "form-example" > < input type = "submit" value = "今すぐ購入" > </ div > </ form > < br >< br > < a href = "/" >リンク</ a > < script > var onBeforeunloadHandler = function(e) { e.returnValue = 'ページから離れます。よろしいでしょうか?'; }; window.addEventListener('beforeunload', onBeforeunloadHandler, false); const path = location.pathname; var cookies = document.cookie; var cookiesArray = cookies.split(';'); for(var c of cookiesArray){ var cArray = c.split('='); if( cArray[0] == 'page' && cArray[1] == path){ window.removeEventListener('beforeunload', onBeforeunloadHandler, false); } } const form = document.getElementById('form'); form.addEventListener('submit', function(e) { window.removeEventListener('beforeunload', onBeforeunloadHandler, false); }, false); var date1,date2; var kigen = 1; date1 = new Date(); date1.setTime(date1.getTime() + kigen*24*60*60*1000); date2 = date1.toGMTString(); document.cookie = "page=" + path+";expires=" + date2; </ script > |