Обнаружьте, если приложение Flash загрузило правильно использование JavaScript?

Я думаю, что имя происходит неоднозначно, и оно не может понять, от чего зависит. попробуйте сделать что-то вроде этого:

"dependsOn": [
    "[resourceId('Microsoft.Web/sites', parameters('FunctionAppName'))]"
],
8
задан Gili 30 December 2008 в 01:51
поделиться

3 ответа

Ответ на мой собственный вопрос: https://sourceforge.net/forum/message.php? message_id=5929756

  1. Определите функцию JavaScript, которая должна быть вызвана если загруженный Flash.
  2. Вызовите этот метод от вершины Вашего Флеш-файла.
  3. Используйте таймер, чтобы обнаружить, если обратный вызов никогда не вызывается.
  4. Предпочтите вызов функции Javascript от Flash вместо того, чтобы вызов функции Flash из JavaScript. Так или иначе Вы не можете вызвать функцию, которая еще не была загружена. Намного легче гарантировать, что браузер закончил загружать Вашу функцию JavaScript прежде, чем вызвать его от Flash, чем гарантия, что Flash закончил загружать Вашу функцию Flash прежде, чем вызвать его из JavaScript.

Вот пример:

  • Я использую swfobject для встраивания Flash.
  • Я использую FlashVars для сообщения Flash, который JavaScript функционируют для вызова. Это полезно, если существует несколько объектов Flash на странице.

Flash

var params:Object = LoaderInfo(this.root.loaderInfo).parameters;
if (ExternalInterface.available)
{
    var onLoaded:String = params["onLoaded"];
    if (onLoaded != null)
        ExternalInterface.call(onLoaded, true);
}

JavaScript

var flashLoaded = false;
var flashTimer;

function onFlashLoaded()
{
    flashLoaded = true;
    clearTimeout(flashTimer);
}

function onFlashTimeout()
{
    if (!isFlashLoaded)
    {
        // Remove the Flash object in case it is partially loaded
        $("#videoFeed").empty();
        $("#videoFeed").append('<div id="flashObject"></div>');
        alert("Failed to load video player");
    }
    clearTimeout(flashTimer);
}

function connectToVideo()
{
    var flashvars = {};
    flashvars.onLoaded = "onFlashLoaded";

    var params = {};
    params.menu = false;

    var attributes = {};

    isFlashLoaded = false;
    flashTimer = setTimeout("onFlashTimeout()", 5000);

    swfobject.embedSWF("flash/VideoFeed.swf", "flashObject", "800", "600", "11", "expressInstall.swf", flashvars, params, attributes);
}
12
ответ дан 5 December 2019 в 08:26
поделиться

На самом деле, когда страница HTML заканчивает загружаться, содержание Flash еще не может быть полностью загружено. Если SWF не будет сделан, загружаясь, то это, будет казаться, перестало работать.

Метод, который я обычно рекомендую, должен иметь SWF, вызывают функцию JavaScript через ExternalInterface сразу же, когда конструктор класса документов вызывается. В основном предположите, что SWF не удалось загрузиться, если это функция JS не называют.

3
ответ дан 5 December 2019 в 08:26
поделиться

Согласно документации Adobe ExternalInterface: http://livedocs.adobe.com/flex/3/langref/flash/external/ExternalInterface.html некоторые веб-браузеры ограничивают вызов функции Javascript через ExternalInterface в конструкторе класса документа, если включен блокировщик всплывающих окон.

Есть ли какое-либо другое решение для определения того, когда фильм SWF был успешно загружен?

1
ответ дан 5 December 2019 в 08:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: