Причина, по которой вы не можете сделать это, вызывая system
, состоит в том, что система
запустит новый процесс, выполнит вашу команду и вернет статус выхода. Поэтому, когда вы вызываете систему «cd foo»
, вы запустите процесс оболочки, который переключится в каталог «foo», а затем выйдет. В вашем скрипте perl ничего не произойдет. Аналогично, система «exit»
запустит новый процесс и сразу же выйдет из него.
Что вы хотите для случая cd, есть - как указывает bobah - функция ChDir
. Для выхода из вашей программы существует функция exit
.
Однако ни один из них не повлияет на состояние сеанса терминала, в котором вы находитесь. После завершения вашего скрипта perl рабочий каталог вашего терминала будет таким же, как и до вашего запуска, и вы не сможете выйти из сеанса терминала, вызвав exit
в вашем скрипте perl.
Это связано с тем, что ваш perl-скрипт снова является отдельным процессом из вашей оболочки терминала, и все, что происходит в отдельных процессах, обычно не мешает друг другу. Это функция, а не ошибка.
Если вы хотите, чтобы в вашей оболочке что-то изменилось, вы должны выпустить инструкции, которые понимаются и интерпретируются вашей оболочкой. cd
- такая встроенная команда в вашей оболочке, как exit
.
Вы можете использовать событие timeupdate, которое срабатывает всякий раз, когда обновляется атрибут currentTime видео.
Ссылка: https://developer.mozilla.org/en-US/docs/Web/Events/timeupdate
Пример:
$(document).ready(function(){
$( '.header-video' ).on(
'timeupdate',
function(event){
// Save object in case you want to manipulate it more without calling the DOM
$this = $(this);
if( this.currentTime > ( this.duration - 3 ) ) {
$this.fadeOut(200);
}
});
});
.get(0)
у вас не будет события.on
.$( '.header-video' ).on
будет работать отлично – CodingIntrigue 30 July 2014 в 12:37