Постоянный флэш-клип - PullRequest
       6

Постоянный флэш-клип

0 голосов
/ 09 марта 2012

Я занимаюсь разработкой сайта, на котором будет довольно большая флеш игра.Проблема в том, что когда кто-то играет в игру, а затем переходит на другую страницу, ему придется перезагрузить флэш-игру, когда он вернется через пару секунд / минут спустя в том же сеансе просмотра.Конечно, ресурсы кэшируются, но загрузка всего занимает несколько секунд.

Так что я пытаюсь найти лучший способ борьбы с этим (помимо получения флэш-разработки для улучшения загрузки игр).время).Я придумал следующее:

Создайте одну довольно пустую страницу, которая содержит несколько javascript и 2 iframes, один из которых - веб-сайт, а другой - веб-сайт с загруженной флеш-игрой.Теперь javascript на родительской странице используется для переключения между просмотром веб-сайта и игрой во флэш-игру.С точки зрения пользователя, они находятся на обычном веб-сайте (т. Е. Они совершенно не замечают тот факт, что он загружен в iframe).

Это по-прежнему вызывает некоторые проблемы с точки зрения перекрывающихся диалогов во флэш-игре, ноЯ могу обойти их, открыв их у родителя.

Мое единственное беспокойство в том, что это просто нехорошо, такое ощущение, что я разбираюсь с проблемой и боюсь, что это произойдетвзорваться мне в лицо в какой-то момент.

Итак, 2 вопроса

  • Что ты чувствуешь на моем подходе?Предвидеть какие-либо проблемы, кроме упомянутой (z-index)?
  • Есть ли лучший способ сделать это?Конечно, я не первый человек, который хотел, чтобы флеш-ролик сохранялся до тех пор, пока посетитель находится на сайте.

Спасибо

1 Ответ

1 голос
/ 19 октября 2012

Если у вас есть страница, которую люди могут свободно покинуть (например, Интернет), у вас возникнет эта проблема.Если нужно пролистать страницу, то предпочтительна отдельная вкладка / окно - iframe даст вам больше головной боли, чем необходимо!

Вы можете использовать javascript на странице флэш-памяти, чтобы перехватить закрытие / перенаправление пользователя, и сделать подсказку, которая предупреждает пользователя о необходимости перезагрузки и т. Д. В онлайн-редакторе Flash я использовал именно эту технику -каждый раз, когда пользователь делал что-то, что требовало сохранения, я использовал ExternalInterface:

public final class ExternalJS
{

    public static var callJS:Boolean = true;
    public static var jsFunc:String = 'setSaved';

    public static function setSaved(isSaved:Boolean):void
    {
        if(callJS && ExternalInterface.available)
        {
            ExternalInterface.call(jsFunc,isSaved);
        }
    }
}

При этом на странице есть соответствующая функция JS:

var saved = true;
        function setSaved(isSaved){saved = isSaved;}
        window.onbeforeunload = function()
        {
            if(!saved)
            {
                return "Leaving this page will require it to be reloaded if you visit again, are you sure you wish to navigate away?";
            }
        }

Это создаст приглашение сэтот текст и стандартные опции ok / cancel.Если не считать редизайн вашего сайта, мне кажется, что это лучший вариант.

Надеюсь, это поможет.

PS Для ваших целей вам, вероятно, не нужен код Flash или даже условие в Javascript, просто используйте событие onbeforeunload для создания приглашения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...