flash: ExternalInterface работает с тегом embed, но не с тегом object

«Современный» обновленный способ встраивания флеш-объекта, согласно Adobe:

        <object id="theFlash" name="theFlash" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 
         width="400" height="225" align="middle">
            <param name="movie" value="theflashfile.swf" />
            <param name="allowScriptAccess" value="always" />
            <!--[if !IE]>-->
            <object type="application/x-shockwave-flash"
             data="getStreamFrame.swf" width="400" height="225">
            <param name="allowScriptAccess" value="always" />
            <!--<![endif]-->
            <a href="http://www.adobe.com/go/getflash">
                <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
            </a>
            <!--[if !IE]>-->
            </object>
            <!--<![endif]-->
        </object>

При попытке вызова функции AS3 в SWF, из Javascript:

     var flashObj = document.getElementById('theFlash');
     flashObj.someASFunction();

(и на стороне AS:)

     import flash.external.*;
     function someASFunction() {
        //show some text
     }
     ExternalInterface.addCallback("someASFunction", someASFunction);

Это не работает в Firefox и Chrome. Вспышка работает и нагружает. startObj получает ссылку на объект, но someASFunction не определен и не вызывается.

Если заменить объект тэга на тэг встраивания:

   <embed id="theFlash" name="theFlash" height="225" width="400" align="middle" 
    type="application/x-shockwave-flash" allowscriptaccess="always"
    src="theflashfile.swf" />

Тогда он работает на Firefox и Chrome (функция AS вызывается и работает правильно) - (в IE не работает, хотя).

Почему он не работает с тэгом объекта?
Насколько «безопасно» использовать тэг встраивания вместо тэга объекта? Не устарел ли он?

Обратите внимание, что это точно не проблема синхронизации - если я вызываю функцию AS из JS из функции onclick - то результаты те же.

-121--1920601- Все перестановки с повторением с использованием scala Я ищу скала способ дать все перестановки без повторов. Я знаю, что на этом сайте уже есть некоторые сообщения, но у них, кажется, несколько другая проблема. Я ищу...

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

Я ищу все перестановки с повторениями. Например:

combine(List('A','C','G'))

Должен уступить:

List(List('A'.'A','A'),List('A'.'A','C'),List('A'.'A','G'),List('A'.'C','A'),
List('A'.'C',''C), ... List('G'.'G','G')

Мне жаль, если моя проблема уже решена, но я не смог ее найти.

Заранее спасибо.

EDIT:

Мой собственный подход (не компилируется):

def combine(size: Int = sym.length) : List[List[T]] = {
  size match {
    case 0 => List()
    case 1 => sym.toList.map(List(_))
    case _ => for (el <- sym) yield el :: combine(size-1)
  }
}

sym является членом массива класса, который содержит все символы, подлежащие объединению.

8
задан uoyilmaz 9 November 2017 в 20:45
поделиться