/********************************** modal ***********************************/ //pushstate if (history.pushState) { $('body').on('loaded.bs.modal', '.modal', function(e){ var $modal = $(this); if ($modal.data('state_pushed')) { window.history.pushState({modal: '#'+$modal.attr('id'), url: $modal.data('state_pushed'), content: $modal.find('.modal-content').html() }, '', $modal.data('state_pushed')); } }); $('body').on('show.bs.modal', '.modal', function(e){ var $invoker = $(e.relatedTarget); var url = $invoker.attr('href'); if (!url) return; $(this).data('state_pushed', url); }); $('body').on('hidden.bs.modal', '.modal', function () { var $modal = $(this); if ($modal.data('state_pushed')) { window.history.back(); $modal.removeData('state_pushed'); } }); window.onpopstate = function(e) { if (e.state !== null && 'modal' in e.state) { var $modal = $(e.state.modal); $modal.find('.modal-content').html(e.state.content); $modal.data('state_pushed', e.state.url).modal(); return; } else { $('.modal').each(function(){ var $modal = $(this); if ($modal.data('state_pushed')) { $modal.removeData('state_pushed'); $modal.modal('hide'); } }); } }; } //allow reloading $('body').on('hidden.bs.modal', '.modal', function () { $(this).removeData('bs.modal'); }); /****************************** datepickers ***********************************/ $('.datepicker').each(function(){ var $this = $(this); $this.datetimepicker({ language: LOCALE, pickDate: $this.data('pick_date'), pickTime: $this.data('pick_time'), useSeconds: false, defaultDate: $this.data('default_date') }); $this.on("dp.change",function (e) { var id = $this.attr('id'); var date = $this.data('DateTimePicker').getDate(); var $sfDate = $this.siblings('input:hidden[rel=' + id + ']'); $sfDate.filter('.datepicker_year').val(date.year()); $sfDate.filter('.datepicker_month').val(date.month()+1); $sfDate.filter('.datepicker_day').val(date.date()); $sfDate.filter('.datepicker_hour').val(date.hour()); $sfDate.filter('.datepicker_minute').val(date.minute()); }); }); /***************************** images in mobile *******************************/ if ($(window).width() < 768) $('img.hidden-xs, .hidden-xs img').attr('src', ''); if ($(window).width() < 992) $('img.hidden-sm, .hidden-sm img').attr('src', ''); if ($(window).width() < 1200) $('img.hidden-md, .hidden-md img').attr('src', ''); /******************************** login ***************************************/ $login = $('.dropdown.login'); $login.on('shown.bs.dropdown', function(){ $(this).find('#login_email').focus(); }); $login.find('form').on('submit', function(){ $(this).find('button[type="submit"]').button('loading'); }); /****************************** latest news ***********************************/ //open news $('#latest_news').on('click', 'a.title', function(e) { e.preventDefault(); var $this = $(this); var id = $this.attr('rel'); $('#latest_news_body_'+id).slideToggle(); $this.toggleClass('unfolded'); }); /***************************** subscription ***********************************/ //send form $(document).on('submit', '.subscription_form', function(event){ event.preventDefault(); var $form = $(this); var $button = $form.find('.btn'); $form.find('.alert').addClass('hidden'); $button.button('loading'); $.ajax({ type: $form.attr('method'), url: $form.attr('action'), data: $form.serialize(), dataType: 'json', success: function(data){ $button.button('reset'); $form.find('.alert-' + data.result).html(data['message']).removeClass('hidden'); if (data.result === 'success') $form.find('#subscription_input_email').val(''); } }); }); /**************************** additional fields *******************************/ //subfields $('[id$=__SUBFORM]').each(function(){ var $subform = $(this); var $masterField = $('#' + $subform.attr('id').replace('__SUBFORM', '')); if ($masterField.is(':checkbox')) { //trigger on load $subform.toggle($masterField.is(':checked')); //event $masterField.change(function(){ $subform.slideToggle($masterField.is(':checked')); }); } else if ($masterField.is(':radio')) { //trigger on load $subform.toggle($masterField.is(':checked')); //event $('input:radio[name="' + $masterField.attr('name') + '"]').click(function(){ var $radio = $(this); if ($radio.attr('id') === $masterField.attr('id')) { $subform.slideDown(); } else { $subform.hide(); } }); } else if ($masterField.is('select')) { //to do } }); /****************************** registration ***********************************/ //repeat password $('.registration #repeat_password, .forgot-password #repeat_password').on('keyup', function() { var $container = $(this).closest('.form-group'); $container.removeClass('has-error has-success has-feedback') .find('#repeat_password_ok, #repeat_password_err').addClass('hidden'); if ($('#repeat_password').val() !== $('#attendee_password').val()){ $container.addClass('has-error has-feedback') .find('#repeat_password_err').removeClass('hidden'); }else{ $container.addClass('has-success has-feedback') .find('#repeat_password_ok').removeClass('hidden'); } }); /***************************** submission ************************************/ //invitation $('.paper_submit.needs_invitation').on('click', function(e) { e.preventDefault(); $('#paper_invitation_div_' + $(this).attr('rel')).slideToggle(); }); //send form $('.paper_invitation_form').on('submit', function(e){ e.preventDefault(); var $form = $(this); var $btn = $form.find('.btn'); var $err = $form.find('.alert-danger'); $btn.button('loading'); $err.addClass('hidden'); $.ajax({ url: $form.attr('action'), type: $form.attr('method'), data: $form.serialize() }).done(function(data){ data = $.trim(data); if (data != 'ok'){ $err.html(data).removeClass('hidden'); }else{ location.href = $form.data('goto'); } }).fail(function(){ $err.html($err.data('default')).removeClass('hidden'); }).always(function(){ $btn.button('reset'); }); }); //abstract max chars var $textarea = $('#paper_text'); var $chars = $('#paper_text_chars'); var maxChars = $textarea.data('max_chars'); if (maxChars) { var paperTextCountChars = function() { var left = maxChars - $textarea.val().length; if (left >= 0) { var text = $chars.data('text_left'); $chars.html(text.replace(/%num%/i, left)); $chars.removeClass('bg-danger'); } else { var text = $chars.data('text_exceeded'); $chars.html(text.replace(/%limit%/i, maxChars).replace(/%used%/i, $textarea.val().length)); $chars.addClass('bg-danger'); } } $textarea.on('input', function(){ paperTextCountChars(); }); paperTextCountChars(); } //coauthors var $coauthorsContainer = $('#coauthors_container'); if ($coauthorsContainer.length) { $coauthorsContainer.data('next_ord', 0); var coauthorSetOrder = function() { $coauthorsContainer.data('next_ord', 0); $coauthorsContainer.find('[id^="coauthor_node_"], #coauthor_author_node').each(function(i){ var $this = $(this); if ($this.attr('id') === 'coauthor_author_node'){ $this.find('#paper_attendee_ord').val(i); }else{ var idx = $this.attr('id').replace('coauthor_node_',''); $('#paper_Coauthor_rel_'+idx+'_ord').val(i); } $coauthorsContainer.data('next_ord', i+1); }); }; //initialize: order coauthors, reassign orders and make sortable $coauthorsContainer.find('[id^="coauthor_node_"], #coauthor_author_node').sortElements(function(a, b){ var idx_a = $(a).attr('id').replace('coauthor_node_',''); var idx_b = $(b).attr('id').replace('coauthor_node_',''); var val_a = ($(a).attr('id') == 'coauthor_author_node') ? ($coauthorsContainer.find('#paper_attendee_ord').val()) : ($coauthorsContainer.find('#paper_Coauthor_rel_'+idx_a+'_ord').val()); var val_b = ($(b).attr('id') == 'coauthor_author_node') ? ($coauthorsContainer.find('#paper_attendee_ord').val()) : ($coauthorsContainer.find('#paper_Coauthor_rel_'+idx_b+'_ord').val()); return val_a > val_b ? 1 : -1; }); coauthorSetOrder(); $coauthorsContainer.sortable({ items: '[id^="coauthor_node_"], #coauthor_author_node', handle:'.handle', update: function(event, ui) { coauthorSetOrder() } }); //edit $coauthorsContainer.on('click', '[id^="coauthor_edit_"]', function(event) { event.preventDefault(); var idx = $(this).attr('id').replace('coauthor_edit_',''); $coauthorsContainer.find('#coauthor_info_'+idx).slideUp(); $coauthorsContainer.find('#coauthor_form_'+idx).slideDown(); }) //delete $coauthorsContainer.on('click', '[id^="coauthor_delete_"]', function(event) { event.preventDefault(); var $this = $(this); var idx = $this.attr('id').replace('coauthor_delete_',''); if (confirm($this.data('confirm_text'))){ $coauthorsContainer.find('#coauthor_node_'+idx).fadeTo('fast', 0, function() { $(this).slideUp('slow', function() { $(this).remove(); coauthorSetOrder(); }); }); } }); //close $coauthorsContainer.on('click', '[id^="coauthor_close_"]', function(event) { event.preventDefault(); var idx = $(this).attr('id').replace('coauthor_close_',''); //if no values, just delete node if ($coauthorsContainer.find('#coauthor_form_'+idx).find('input:text[value!=""]').length == 0){ $coauthorsContainer.find('#coauthor_form_'+idx).slideUp(function(){ $coauthorsContainer.find('#coauthor_node_'+idx).remove(); }); return; } if ($coauthorsContainer.find('#paper_Coauthor_rel_'+idx+'_name').val() && $coauthorsContainer.find('#paper_Coauthor_rel_'+idx+'_lastname').val()) { var html = $coauthorsContainer.find('#paper_Coauthor_rel_'+idx+'_lastname').val() + ', ' + $coauthorsContainer.find('#paper_Coauthor_rel_'+idx+'_name').val(); $coauthorsContainer.find('#coauthor_infoname_'+idx).html(html); }else{ $coauthorsContainer.find('#coauthor_infoname_'+idx).html('('+$coauthorsContainer.find('#coauthor_infoname_'+idx).data('error_text')+')'); } $coauthorsContainer.find('#coauthor_info_'+idx).show().fadeTo(0,0); $coauthorsContainer.find('#coauthor_form_'+idx).slideUp(function(){ $coauthorsContainer.find('#coauthor_info_'+idx).fadeTo('slow',1); }); }); //add $coauthorsContainer.find('#coauthor_add').click(function(event) { event.preventDefault(); var countNodes = $coauthorsContainer.data('count_nodes'); var nextOrd = $coauthorsContainer.data('next_ord'); //add node var html = $('#coauthor_tpl').html(); html = $('#coauthor_tpl').html().replace(/\$\$index\$\$/g, countNodes).replace(/__index__/g, countNodes); $(this).parent().before(html); //assign order $coauthorsContainer.find('#paper_Coauthor_rel_'+countNodes+'_ord').val(nextOrd); //animate show $coauthorsContainer.find('#coauthor_info_'+countNodes+', #coauthor_form_'+countNodes).hide(); $coauthorsContainer.find('#coauthor_form_'+countNodes).slideDown(); //update for next $coauthorsContainer.data('next_ord', nextOrd+1); $coauthorsContainer.data('count_nodes', countNodes+1); }); //check email $coauthorsContainer.on('keyup change', '[id^="paper_Coauthor_rel_"][id$="_email"]', function(){ //abort call in process try{ clearTimeout(check_email_timeout); check_email_in_process.abort() }catch(e){ null } //new call if ($(this).val().length > 5){ $check_email_context = $(this); check_email_timeout = setTimeout(function(){ check_email_in_process = $.ajax({ type: 'POST', url: $check_email_context.data('url_check_email'), data: 'email=' + $check_email_context.val(), dataType: 'json' }).done(function(data){ var idx = $check_email_context.attr('id').replace('paper_Coauthor_rel_','').replace('_email',''); if (data !== false) { $coauthorsContainer.find('#paper_Coauthor_rel_'+idx+'_email').val(data['email']); $coauthorsContainer.find('#paper_Coauthor_rel_'+idx+'_name').val(data['name']).hide().fadeIn(); $coauthorsContainer.find('#paper_Coauthor_rel_'+idx+'_lastname').val(data['lastname']).hide().fadeIn(); $coauthorsContainer.find('#paper_Coauthor_rel_'+idx+'_institution').val(data['institution']).hide().fadeIn(); $coauthorsContainer.find('#paper_Coauthor_rel_'+idx+'_country').val(data['country']).hide().fadeIn(); $coauthorsContainer.find('#coauthor_email_found_'+idx).closest('.form-group').addClass('has-success').delay(2000).removeClass('has-success'); $coauthorsContainer.find('#coauthor_email_found_'+idx).show().delay(2000).fadeOut(); } }) }, 1000); } }); //order alphabetically var cleanAccents = function(s){ var r=s.toLowerCase(); r = r.replace(new RegExp("\\s", 'g'),""); r = r.replace(new RegExp("[àáâãäå]", 'g'),"a"); r = r.replace(new RegExp("æ", 'g'),"ae"); r = r.replace(new RegExp("ç", 'g'),"c"); r = r.replace(new RegExp("[èéêë]", 'g'),"e"); r = r.replace(new RegExp("[ìíîï]", 'g'),"i"); r = r.replace(new RegExp("ñ", 'g'),"n"); r = r.replace(new RegExp("[òóôõö]", 'g'),"o"); r = r.replace(new RegExp("œ", 'g'),"oe"); r = r.replace(new RegExp("[ùúûü]", 'g'),"u"); r = r.replace(new RegExp("[ýÿ]", 'g'),"y"); r = r.replace(new RegExp("\\W", 'g'),""); return r; }; $('#coauthors_order_abc').click(function(event){ event.preventDefault(); $coauthorsContainer.find('[id^="coauthor_node_"], #coauthor_author_node').sortElements(function(a, b){ var idx_a = $(a).attr('id').replace('coauthor_node_',''); var idx_b = $(b).attr('id').replace('coauthor_node_',''); if ($coauthorsContainer.find('#paper_Coauthor_rel_'+idx_a+'_lastname').length && $.trim($coauthorsContainer.find('#paper_Coauthor_rel_'+idx_a+'_lastname').val()) === '') return 1; if ($coauthorsContainer.find('#paper_Coauthor_rel_'+idx_b+'_lastname').length && $.trim($coauthorsContainer.find('#paper_Coauthor_rel_'+idx_b+'_lastname').val()) === '') return -1; var val_a = ($(a).attr('id') === 'coauthor_author_node') ? ($('#coauthor_author_name').html()) : ($coauthorsContainer.find('#paper_Coauthor_rel_'+idx_a+'_lastname').val()+', '+$coauthorsContainer.find('#paper_Coauthor_rel_'+idx_a+'_name').val()); var val_b = ($(b).attr('id') === 'coauthor_author_node') ? ($('#coauthor_author_name').html()) : ($coauthorsContainer.find('#paper_Coauthor_rel_'+idx_b+'_lastname').val()+', '+$coauthorsContainer.find('#paper_Coauthor_rel_'+idx_b+'_name').val()); return cleanAccents(val_a.toLowerCase()) > cleanAccents(val_b.toLowerCase()) ? 1 : -1; }); coauthorSetOrder(); }); } /***************************** invited sessions ********************************/ //invited sessions max chars var $invTextarea = $('#invited_session_text'); var $invChars = $('#invited_session_text_chars'); var invMaxChars = $invTextarea.data('max_chars'); if (invMaxChars) { var invitedsessionTextCountChars = function() { var left = invMaxChars - $invTextarea.val().length; if (left >= 0) { var text = $invChars.data('text_left'); $invChars.html(text.replace(/%num%/i, left)); $invChars.removeClass('bg-danger'); } else { var text = $invChars.data('text_exceeded'); $invChars.html(text.replace(/%limit%/i, invMaxChars).replace(/%used%/i, $invTextarea.val().length)); $invChars.addClass('bg-danger'); } } $invTextarea.on('input', function(){ invitedsessionTextCountChars(); }); invitedsessionTextCountChars(); } /******************************* papers ****************************************/ //see more $('[id^="paper_link_see_more__"]').click(function(event){ event.preventDefault(); var idx = $(this).attr('id').split('__')[1]; $('#paper_text_see_more__'+idx).hide(); $('#paper_text_complete__'+idx).slideDown(); }) //TODO MC: jquery para asignar popup al enlace del mode=reduced /******************************* sessions *************************************/ $('.session_title').click(function(event) { event.preventDefault(); var $this = $(this); var $context = $this.parent(); if (!$context.find('ul').is(':visible')){ $context.find('.loading').show(); $.ajax({ url: $this.data('url_papers'), data: 'id=' + $this.data('session_id'), type: 'POST' }).done(function(data){ $context.find('ul').html(data).slideDown(); }).always(function(){ $context.find('.loading').hide(); }) }else{ $context.find('ul').slideUp(); } }) /****************************** my information ********************************/ $('#myinformation_password_edit').click(function(event){ event.preventDefault(); var $this = $(this); var $changing = $('#attendee_changing_password'); var $container = $('#myinformation_password'); $container.slideToggle(); if ($changing.val() === '0'){ $changing.val('1'); $this.html($this.data('notchange_text')); }else{ $changing.val('0'); $this.html($this.data('change_text')); } }); //repeat password $('.my-information #repeat_password').on('keyup', function() { var $container = $(this).closest('.form-group'); $container.removeClass('has-error has-success has-feedback') .find('#repeat_password_ok, #repeat_password_err').addClass('hidden'); if ($('#repeat_password').val() !== $('#attendee_new_password').val()){ $container.addClass('has-error has-feedback') .find('#repeat_password_err').removeClass('hidden'); }else{ $container.addClass('has-success has-feedback') .find('#repeat_password_ok').removeClass('hidden'); } }); /******************************** enrollment **********************************/ var $enrollment = $('.enrollment'); if ($enrollment.length) { if ($('#price_summary_total').length) { //funcion to calculate and display prices calculate_price_summary = function() { var price_summary_subtotal = 0; var price_summary_vat = 0; var price_summary_total = 0; $enrollment.find('input[id^="enrollment_grp_"], input[id^="enrollment_fee_"]').filter(':checked').each(function(){ var $fee = $(this); var $multipliers = $enrollment.find('[data-fee_multiplier][rel="' + $fee.attr('id') + '"]'); var multiplier = 1; $multipliers.each(function(){ var $subfee = $(this); multiplier *= $subfee.is('select') ? $subfee.find(':selected').text() : $subfee.val(); }); price_summary_subtotal += enrollment.fee_prices[$fee.val()] * multiplier; }); price_summary_vat = price_summary_subtotal * enrollment.vat / 100; price_summary_total = price_summary_subtotal + price_summary_vat; //display $enrollment.find('#price_summary_subtotal').hide().html(price_summary_subtotal).formatNumber({format:"#,###.00", locale: LOCALE }).fadeIn(); $enrollment.find('#price_summary_vat').hide().html(price_summary_vat).formatNumber({format:"#,###.00", locale: LOCALE }).fadeIn(); $enrollment.find('#price_summary_total').hide().html(price_summary_total).formatNumber({format:"#,###.00", locale: LOCALE }).fadeIn(); } //event and display $enrollment.find('input[id^="enrollment_grp_"], input[id^="enrollment_fee_"], [data-fee_multiplier]').change(function(){ calculate_price_summary(); }); //trigger when loading calculate_price_summary(); } //in case of incomplete payment $enrollment.find('#enrollment_start_again').click(function(event){ event.preventDefault(); $enrollment.find('#enrollment_container').slideDown(); }); //go to payment $('#enrollment_button_checkout').click(function(){ $('#enrollment_buttons').hide(); $('#payment_method_content').slideDown(); }); //go to payment method $('[id^="button_payment_"]').click(function(event){ event.preventDefault(); var $btn = $(this); var psp_id = $btn.attr('id').replace('button_payment_',''); $('#hidden_payment_psp_id').val(psp_id); //send form $btn.button('loading'); $.ajax({ type: $('#form_payment_gateway').attr('method'), url: $('#form_payment_gateway').attr('action'), data: $('#form_payment_gateway').serialize() }).done(function(data) { $('#form_payment_newform').html(data); //send new form $('#form_payment_redirect').submit(); }).fail(function() { $('#error_payment').show(); $btn.button('reset'); }) }) } /************************** schedule *****************************/ $('.schedule a.title').click(function(event){ event.preventDefault(); $(this).parent().siblings('.subform').slideToggle(); }) $('.schedule h3 a').click(function(event){ event.preventDefault(); $(this).parent().next('ul.sessions').slideToggle(); }) /************************** authors ******************************/ //papers of authors $('.authors').on('click', '.authors_content > li > a', function(event){ event.preventDefault(); var $this = $(this); var $content = $('.authors .authors_content'); var $loading = $this.siblings('.loading'); var $subform = $this.siblings('.subform'); if ($subform.is(':visible')){ $subform.slideUp(); }else{ $loading.show(); $.ajax({ url: $content.data('urlpapers'), type: 'POST', data: 'type=' + $this.data('type') + '&id=' + $this.data('id') + '&entity=' + $this.data('entity') }).always(function(){ $loading.hide(); }).done(function(data){ $subform.html(data).slideDown(); }); } }); //hijack pagination $('.authors').on('click', '.nav a', function(event){ event.preventDefault(); var $this = $(this); var $authors = $('.authors'); var $content = $authors.find('.authors_content'); $content.html('') $.ajax({ url: $(this).attr('href') }).done(function(data){ $content.html(data); $authors.find('.nav .active').removeClass('active'); $this.closest('li').addClass('active'); }); }); /************************ gallery ***************************/ var $gallery = $('.gallery'); var $galleryModal = $gallery.find('#modal-photo-preview'); var $countBadge = $gallery.find('.panel .panel-heading .badge'); $galleryModal.on('show.bs.modal', function (event) { var $thumb = $(event.relatedTarget); var $modal = $(this); var $image = $modal.find('.modal-body img'); var $status = $modal.find('.modal-header h4 small'); var $delete = $modal.find('.modal-footer button.delete'); $image.attr('src', $thumb.data('image')); $status.html($thumb.data('status')).addClass($thumb.data('status-class')); $delete.siblings('input[name="id"]').val($thumb.data('id')); }); $galleryModal.find('button.delete').on('click', function(e){ e.preventDefault(); var $button = $(this); $button.button('loading'); var $form = $button.closest('form'); var id = $form.find('input[name="id"]').val(); $.ajax({ url: $form.attr('action'), type: $form.attr('method'), data: $form.serialize() }).done(function(data) { //remove thumb var $thumb = $gallery.find('.photo-mine[data-id="'+id+'"]'); $thumb.remove(); //count $countBadge.html(parseInt($countBadge.html()) - 1); //close modal $galleryModal.modal('hide'); }).always(function() { $button.button('reset'); }); }); //upload var canUpload = function() { //input file supported var elem = document.createElement('input'); elem.type = 'file'; if (elem.disabled) return false; //canvas supported var elem = document.createElement('canvas'); if (!(elem.getContext && elem.getContext('2d'))) return false; //else return true; } if (canUpload()) { var $btnUpload = $gallery.find('.photo-mine-upload'); var $formUpload = $btnUpload.find('form'); var $inputFile = $gallery.find('input[type="file"]'); var $base64File = $formUpload.find('#gallery_photo_base64_file'); var $uploadError = $gallery.find('.alert-danger'); $btnUpload.on('click', function(e) { e.preventDefault(); $inputFile.click(); }); $inputFile.on('change', function(e){ loadImage( e.target.files[0], function (canvas) { if (canvas.type === 'error') { $uploadError.html($uploadError.data('error-type')).removeClass('hide'); return; } else { $uploadError.addClass('hide'); } $base64File.val(canvas.toDataURL('image/jpeg', 0.8)); $btnUpload.find('.glyphicon').addClass('hide'); $btnUpload.find('.loading').removeClass('hide'); $.ajax({ 'url' : $formUpload.attr('action'), 'type': $formUpload.attr('method'), 'data': $formUpload.serialize() }).done(function(response) { $btnUpload.before(response); //count $countBadge.html(parseInt($countBadge.html()) + 1); }).fail(function(jqXHR) { $uploadError.html(jqXHR.responseText).removeClass('hide'); }).always(function() { $btnUpload.find('.glyphicon').removeClass('hide'); $btnUpload.find('.loading').addClass('hide'); //reset $base64File.val(''); $inputFile.wrap('
').closest('form').get(0).reset(); //trick to reset input file $inputFile.unwrap(); }); }, { 'maxHeight': 500, 'maxWidth': 850, 'canvas': true } ); }); } else { //can't upload var $btnUpload = $gallery.find('.photo-mine-upload'); var $alertNotSupported = $gallery.find('.photo-mine-upload-notsupported'); $btnUpload.addClass('hide'); $alertNotSupported.removeClass('hide'); } /********************************* share **************************************/ if ( !window.share ) { $.getScript('/js/lib/web-share-shim.bundle.min.js'); } $('.sharing-tools').on('click', function(){ navigator.share({ title: $('.page-header h1').text(), text: $('.text-content').text().substring(0, 256), url: window.location.href }).then(() => { }) .catch(err => { }); });