onbeforeunload в iframe не вызывается, когда я нажимаю любую из родительских ссылок в магазине shopify
Я установил собственное приложение в свой магазин Shopify и на странице добавления кампании, которую я добавил перед загрузкой, поэтому, если в наборе полей есть какие-либо данные, и он пытается перезагрузить или вернуться, он должен запросить подтверждение, что он работает нормально в iframe, но когда Я нажимаю на родительские ссылки, например, на заказы товаров, которые не требуют подтверждения
var counter=0;
function check_counter()
{
if($('#CustomProgressMessage').val()!="" || $('#campaignNameTxt').val()!="" || $('#campaignImg').val()!="" || $('#campaignCollection').val()!="" || $('#campaignProduct').val()!="" || $('#campaignStartDate').val()!="" || $('#campaignExpireDate').val()!="" || $('#campaignDescription').val()!="" )
{
counter++
}
$i=1;
while($i<=6)
{
var tierEnabled = $('table.campaign-tiers-table td.td-tier-status input.tier_active.'.concat($i)).prop('checked');
if( tierEnabled == true ){
counter++
}
if($('#ProgressBar'.concat($i)).prop('checked') == true)
{
counter++
}
$i++
}
if(is_save==1)
{
counter=0
}
}
function areYouSure() {
check_counter()
console.log(counter)
if(allowPrompt){
if(counter!=0)
return "Are you sure you want to close it";
}else{
allowPrompt = true;
}
}
var allowPrompt = true;
window.onbeforeunload = areYouSure;
Переменная is_save используется для проверки, нажата ли кнопка сохранения кампании, если нажата, ее значение будет равно единице.