下記サイトに書かれているように
http://blog.codefidelity.com/?p=16
<script type="text/javascript">
function LightboxDelegate(url,caption) {
var objLink = document.createElement('a');
objLink.setAttribute('href',url);
objLink.setAttribute('rel','lightbox');
objLink.setAttribute('title',caption);
Lightbox.prototype.start(objLink);
}
</script>
という関数をJS側で用意し、
FLASHからExternalInterfaceでアクセスすれば
Lightboxを開かせることができる。
しかしLightboxの start(obj); のように、動作をスタートする関数やAPIが用意されていればいいが、されていなかった場合はどうすればいいか。
下記のようにjQueryのtrigger関数を使って、リンクをクリックしたことにすればLightboxを作動させることができる。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
function callLightbox(url) {
var objLink = document.getElementById("test");
objLink.href = url;
$('#test').trigger('click');
}
</script>
<a id="test" href="http://google.co.jp">test</a>

コメントする