«Современный» обновленный способ встраивания флеш-объекта, согласно 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-Я ищу скала способ дать все перестановки без повторов. Я знаю, что на этом сайте уже есть некоторые сообщения, но у них, кажется, несколько другая проблема.
Я ищу все перестановки с повторениями. Например:
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 является членом массива класса, который содержит все символы, подлежащие объединению.