<script>
etiketi kullanılarak sayfaya aktarılmış bir SWF dosyasındaki ActionScript'ten HTML sayfasındaki nesnelere erişmek için,
window
veya
document
gibi bir JavaScript nesnesine ilişkin başvuruyu ActionScript kodunda tanımlanan bir işleve iletin. JavaScript nesnesine (veya iletilen başvuru aracılığıyla erişilebilen diğer nesnelere) erişmek için işlevdeki başvuruyu kullanın.
Örneğin, aşağıdaki HTML sayfasına bakın:
<html>
<script src="ASLibrary.swf" type="application/x-shockwave-flash"></script>
<script>
num = 254;
function getStatus() {
return "OK.";
}
function runASFunction(window){
var obj = new runtime.ASClass();
obj.accessDOM(window);
}
</script>
<body onload="runASFunction">
<p id="p1">Body text.</p>
</body>
</html>
Bu basit HTML sayfası
num
adlı bir JavaScript değişkeni ve
getStatus()
adlı bir JavaScript işlevi içerir. Bunların her ikisi de sayfanın
window
nesnesinin özellikleridir. Ayrıca,
window.document
nesnesi (
p1
kimliğiyle) adlandırılan bir P öğesi içerir.
Sayfa, ASClass sınıfını içeren “ASLibrary.swf” adlı ActionScript dosyasını yükler. ASClass, bu JavaScript nesnelerinin değerlerini izleyen
accessDOM()
adlı bir işlev tanımlar.
accessDOM()
yöntemi JavaScript Window nesnesini argüman olarak alır. Window başvurusunu kullanarak, aşağıdaki tanımda gösterildiği şekilde değişkenler, işlevler ve DOM öğeleri dahil sayfadaki diğer nesnelere erişebilir:
public class ASClass{
public function accessDOM(window:*):void {
trace(window.num); // 254
trace(window.document.getElementById("p1").innerHTML); // Body text..
trace(window.getStatus()); // OK.
}
}
İçe aktarılan ActionScript sınıfından HTML sayfasının özelliklerini getirebilir ve ayarlayabilirsiniz. Örneğin, aşağıdaki işlev sayfadaki
p1
öğesinin içeriğini ayarlar ve
foo
JavaScript değişkeninin değerini belirler:
public function modifyDOM(window:*):void {
window.document.getElementById("p1").innerHTML = "Bye";
window.foo = 66;