Nasıl güvenilir Actionscript kullanarak ekran çözünürlüğü yakalayabilir?

2 Cevap php

Ben bu ekran konumu tarayıcı yaşadığı hangi monitörün çözünürlüğüne bağlıdır çeşitli bileşenleri var.

loginBox.x = (flash.system.Capabilities.screenResolutionX - loginBox.width) / 2; loginBox.y = (flash.system.Capabilities.screenResolutionY - loginBox.height) / 2;

Ben karşılaşma yaşıyorum sorun flash.system.Capabilities yöntem bilgisayara bağlı birincil monitörün çözünürlüğü çeker olmasıdır. Çoğu durumda bu bir sorun değil ama benim bilgisayarlardan birinde, ben bir 1680x1050 ve 1440x900 var. Ben küçük monitörde bir tarayıcıda sayfasını açarsanız, işler merkezli ve benim araçlar paneli tamamen ekranın sağında kapalı değildir bu yüzden işte, ben, bir 1920x1200 ve 1680x1050 bir var.

Ben html ve php yoluyla hem, ben denedim javascript bir blok var ama sorun ben html dosyasını kapmak için ya HTTPRequest veya URLLoader kullanırsanız ben php komut dosyası çalışırsanız, ben html kaynağını almak ve olduğunu Ben bir çerez yazmak için çalışırken bir komut dosyası bloğu olsun. Bu sayfa önce flash site yüklemeden ziyaret olmamıştır, veya çerezler devre dışı ise, bu yazılı geçmez ve ben hiçbir yerde değilim.

Ilk monitörde sadece çözünürlük değil, tarayıcı üzerinde aslında bu monitörün çözünürlüğü tespit etmek, çerezleri güveniyor değildir ve ben kullanabileceğiniz bir yöntem var mı?

2 Cevap

Neden amaçları konumlandırılması için stage.stageWidth ve Stage.stageHeight kullanmak değil mi?

EDIT: Ok, here's an example. I'm considering that you'll place this code inside the container where loginBox also resides. The stage property is undefined unless your object is added to the DisplayList, so you need to listen for when it's added ve daha sonraposition the loginBox.

// in the constructor
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);

ve daha sonra

private function onAddedToStage(evt:Event) {
    loginBox.x = (stage.stageWidth - loginBox.width)/2;
    loginBox.y = (stage.stageHeight - loginBox.height)/2;
}

(Belki durumda) noScale ayarlanmış scaleMode varsa sürekli tarayıcı yeniden boyutlandırma dayalı loginBox yeniden konumlandırmak için gerekirse Ayrıca, bir Event.RESIZE olayı dinlemek gerekir

stage.addEventListener(Event.RESIZE, onResize);

Eğer flash ve javascript arasında iletişim kurmak için çalışıyorsanız, ExternalInterface gitmek için yoludur. Aksine bir çerez yazma ki, sadece javascript gelen bilgi kapmak ve bir geri yoluyla flaş gönderebilirsiniz.