Pull to refresh
1
0
Предвечный Дмитрий @Lanrete

User

Send message
инвайты раздал, всем спасибо, в личку больше не пишите
Благодаря Makor'у, у меня появилась возможность пригласить 3 друзей. Пишите в личку мэйлы.
Регистрация заработала, только указанные выше инвайты не подходят, поделитесь в личку плиз, если есть лишний.
Подскажите пожалуйста, есть ли возможность определить нажато ли play или нет, или нажата pause, а может флеш ролик уже закончился. Как контролировать эти параметры?
function myFunc(){
alert('Hello!');
}
$(function(){
$.ajax({
success: function(){
setTimeout(function(){
myFunc();
},5000);
}
});
})();

Пока Вы писали новую я доделал старую ))
Но у меня тогда отдавало не обновленный json, может дело было в том что таймером опять вызывался ajax? Пора заканчивать, я тут уже до отрицательного рейтинга написался.
Протестировали? Дело пройденное, поверьте я пытался варьировать.
Вполне вероятно, я привел данный пример чтобы показать что можно использовать ответ ajax функции в любом месте скрипта, а также можно обойтись без крон. В настоящее время я пишу ещё один скриптик, который будет использовать котировки 35ти валют за последний год, всё будет загоняться в субд, и наверное всё таки привяжу к крон. Старый proxy.php будет переделан уже под работу с субд.
Извините, чуть неправильно написал, имелось в виду как раз через функцию. Не работает проверено.
Для ясности наверное приведу proxy.php
<?php
$filename = "curences.json";
if (is_readable($filename)) {
$fd = fopen($filename, "r") or die("Can't open file!");
$fstring = fread($fd, filesize($filename));
$fjson = json_decode($fstring);
fclose($fd);
}

$date = date('Y-m-d', time()-86400);

if ($fjson -> data != $date) {
require_once("ClassExchangeRatesCBRF.php");
$rates = new ExchangeRatesCBRF($date);
$array = array();
$array["data"] = $date;
$array["USD"] = $rates->GetRate("USD");
$array["EUR"] = $rates->GetRate("EUR");
$array["UAH"] = $rates->GetRate("UAH");
$json = json_encode($array);

//Если файл существует и в него возможна запись
if ($array["USD"]>0) {
if (is_writeable($filename) ) {
// Открыть файл и установить указатель текущей позиции в начало файла
$fd = fopen($filename, 'w');
// Записать содержимое $data в файл
fwrite($fd, $json);
// Закрыть файл
fclose($fd);
}
}
}
?>
Сегодня уже не могу, завтра проверю, была бы карма, сказал бы спасибо.
Нет, гораздо смешнее то, что не срабатывает таймер если так написать:
success: setTimeout(function(){ curencesjson()}, 20000);
Потому что решение старые новые или старые основывается на серверном времени, а не клиентском. У клиента время может на год назад стоять, да и часовые пояса.
Потому что есть политика безопасности браузеров, напрямую наполнять данными с другого сервера можно только с jsonp. В моём случае дополнительно используется php класс для общения с цбрф, так что по другому никак.
Дело в том что если без таймера считать json, то тот самый первый пользователь, который как Вы выразились продёрнет обновление курсов, увидит старые данные (данные обновляются до 20сек).
proxy.php наполняет при помощи api цбрф актуальными данными файл curences.json, наполнение происходит с приходом первого посетителя в определённые 24 часа, а в остальное время, Вы совершенно правы используются старые данные. Про полурыбнй вопрос не понял.
Если совсем буквально, то конечно ждать приходиться долго, именно поэтому пришлось извратиться.
Локальная в области видимости соответствующей — с этим пока не знаком. Где то слышал что с функцией ajax setInterval setTimeout по другому как то принято, но получилось пока так.

Information

Rating
Does not participate
Registered
Activity