Просмотр полной версии : Рефреш страницы браузера из флэшки
Вешаю во флэшке на нажатие кнопки следующее:
getURL("javascript:setTimeout('window.location.reload()',1000);" );
Локально - страница обновляется.
На сайте - эта строка вставляется в адресную строку браузера (Мозилла) и все.
allowScriptAccess = true - для SWFObject результат дало частично
в Хроме заработало. В Мазиле - нет.
maybe
window.location.reload(true);
getURL("javascript:(function(){setTimeout('window.location.reload()',1000);})()" );
Можно попробовать в анонимную функцию обернуть.
А можно и в две:
getURL("javascript:(function(){setTimeout(function(){window.location.reload()},1000);})()" );
Кстати я не в курсе, как setTimeout в яваскрипте относится к строке, а не к ссылке на функцию, можно еще попробовать так:
getURL("javascript:setTimeout(window.location.reload,1000);" );
Кстати я не в курсе, как setTimeout в яваскрипте относится к строке, а не к ссылке на функцию
Считается устаревшим, но работает. Но у вас не этот синтаксис, это опять же ссылка на функцию.
Оооочень страаанно это все..... В Хроме пашет в Мазиле - нет...
В результатет в обоих заработало это вот:
ExternalInterface.call( "setTimeout","window.location.reload()",1000 );
Но, черт возьми, Холмс.... Каким образом?
Добавлено через 2 минуты
maybe
window.location.reload(true);
Syntax
var retval = location.reload(flag);
Parameters
flag [in, optional]
Type: VARIANT_BOOL
Boolean that specifies one of the following possible values:
VARIANT_FALSE (false)
Default. Reloads the document from the cache.
VARIANT_TRUE (true)
Reloads the document from the server.
По идее и так и эдак релоад быть должен.... Мыргнуть она должна... Ан нет...
Вы вызвали функцию setTimeout с двумя параметрами, один - это текстовая строка "window.location.reload()" , вторая - это 1000.
соответственно, превращается в
setTimeout("window.location.reload()",1000);
Это устаревший синтаксис ( в первом аргументе ожидается ссылка на функцию, а не строка - в этом случае неявно создается анонимная функция на основе строчки)
что дает нам
setTimeout( (function(){window.location.reload();}) ,1000);
что вполне рабочее
Аааа.... Дошло. Буду пробовать.
По идее и так и эдак релоад быть должен.... Мыргнуть она должна... Ан нет...
По идее, кстати, нет. Если не требовать запроса к серверу - то, в соответствии с настройками, из кэша может быть взят документ без обращения к серверу, если он посчитает его валидным.
Короче, зависит от браузера и настроек на сервере.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.