Я получил скрипт, который проверяет почту в моей собственной веб-почте. И я хочу добавить кнопку отмены. Таким образом, если пользователь видит, что проверка всей почты займет слишком много времени (у него есть 100 новых писем), он может отменить процесс (например, на 31-й почте).
Я запускаю этот скрипт в iframe:
public function checkEmailAction() {
set_time_limit(0);
while (@ob_end_flush()) {
}
ob_implicit_flush(1);
$strError = '';
echo "";
$accountId = Zend_Json::decode($this->_getParam('account_id'));
if (!$this->mail_account->hasAccessToAccount($accountId)) {
$strError = 'Insufficient access rights';
}
if (empty($strError)) {
try {
$this->mail->sync($accountId);
} catch (MailException $e) {
Mail_LoaderDispatcher::change('Error. ', 100, null, true);
if($e->getMessage() != "Can't connect to email account.") {
Zend_Registry::get('log')->debugErrorToFile('Mail Error: ' . $e, '', 'mail');
}
}
} else {
Mail_LoaderDispatcher::change($strError, 100, null, true);
}
echo "";
exit();
}
При отмене события нажатия кнопки я добавил такой код, который уничтожает iframe, , но не останавливает процесс php :
var ifr=$('#mail_iframe_check_email');
ifr.remove();
Но скрипт php продолжает работать и все письма загружаются: (
Может быть, есть какой-то способ при нажатии кнопки отмены отправить какой-либо параметр (через Cookie или Get) в iframe и остановить запуск сценария php?