diff --git a/www/js/zui3/zin.js b/www/js/zui3/zin.js index 353cd25ae6..dfdb5017da 100644 --- a/www/js/zui3/zin.js +++ b/www/js/zui3/zin.js @@ -1205,7 +1205,10 @@ if(isInAppTab) window.parent.$('body').trigger('click'); const $link = $(e.target).closest('a,.open-url'); - if(!$link.length || $link.hasClass('ajax-submit') || $link.hasClass('not-open-url') || ($link.attr('target') || '')[0] === '_' || ($link.is('a') && !$link.attr('href'))) return; + if(!$link.length || $link.hasClass('ajax-submit') || $link.attr('data-on') || $link.hasClass('not-open-url') || ($link.attr('target') || '')[0] === '_') return; + + const href = $link.attr('href'); + if($link.is('a') && (/^(https?|javascript):/.test(href))) return; if($link.hasClass('disabled') || $link.prop('disabled')) { @@ -1216,7 +1219,7 @@ const options = $link.dataset(); if(options.toggle && options.toggle !== 'tooltip' && !$link.hasClass('open-url')) return; - const url = options.url || $link.attr('href'); + const url = options.url || href; const $modal = $link.closest('.modal'); if(options.loadId) {