Nasıl Flaş ekranda bir değer güncelleştirmek için javascript aramak için izin için ExternalInterface kullanabilirim?

1 Cevap php

Ben bir PHP sayfası gömülmüş bir Flash film var. PHP sayfası kullanıcı (onlar yüklediğiniz görüntülerin sayısı) bir değer görüntüler. Kullanıcı yeni bir imaj yüklediği zaman ben PHP sayfasındaki değer sayfa yenileme olmadan değişikliği yansıtmak istiyoruz.

Bu değer MySQL kullanarak veritabanından alınır. Öylesine işte ne Ive şimdiye kadar yapmış -

Ben değerini göstermek istiyorum PHP sayfada ben bir div var

<div id="content_info"><script type="text/javascript" src="getInfo.php?group= <?php echo($groupid); ?> "></script></div>

Bu veritabanını sorgular ve bu gibi sonuç verir harici bir PHP dosyasını çağırır

Header("content-type: application/x-javascript");
//do the query with PHP and get $number and then output
echo "document.write(\" (".$number.")\")";

Ilk defa sayfa yüklendiğinde doğru sayı div gösterir ve böylece tüm ince işleri yaparken. Bir sonraki adım, bu içeriği zaman değer değişiklikleri div güncellemek için bir şeyler aramak. Yani bunu yapmak için bir javascript işlevini çağırmak flaş ExternalInterface kuracak.

Im ben böyle bir şey yapmak mümkün olmak istiyorum, sıkışmış yerdir -

function ReplaceContentInContainer(id) {
var container = document.getElementById(id);
container.innerHTML = getInfo.php?type=new&group= <?php echo($groupid) ?>;
}

ve bu çağrı

ReplaceContentInContainer(content_info)

Ben bu işe gitmiyor farkında ama kimse bu nasıl sonuç almak için bana gösterebilir misin?

çok teşekkürler

1 Cevap

group= <?php echo($groupid); ?> PHP sayfasını oluşturur sadece idam edilecektir. Sen javascript bir değişkeni içinde bu değeri saklamak gerekir. Bu çalıştığını görmek.

<div id="scriptDiv">
    <script type="text/javascript">
    <!-- store the group id -->
        var groupID = <?php echo($groupid); ?>;
        function getGroupID()
        {
           return groupID;
        }
        function updateValue(value)
        {
           document.getElementById("content_info").innerHTML = value;
        }
    </script>
    <div id="content_info">
       <!-- for initial value -->
       <script type="text/javascript" 
            src="getInfo.php?group= <?php echo($groupid); ?> ">
       </script>
    </div>
</div>

Şimdi kullanabilirsiniz flaşın URLLoader:

var ldr:URLLoader = new URLLoader();
var gid:String = ExternalInterface.call("getGroupID");
var req:URLRequest = new URLRequest("getInfo.php");
req.data = {type:"new", group:gid};
ldr.addEventListener(Event.COMPLETE, onLoad);
ldr.addEventListener(IOErrorEvent.IO_ERROR, onError);
ldr.load(req);

private function onLoad(e:Event):void
{
    var data:String = URLLoader(e.target).data;
    ExternalInterface.call("updateValue", data);
}
private function onError(e:IOErrorEvent):void
{
    trace("ioError");
}