Soru - Cevap Bölümü
/ Kategori: Tasarım
26/06/2008 - 18:52:33 cevap (4) Okunma : 814 Bu yazıyı 1 kişi tuttu.
Flex - İframe
Merhabalar,
Flex’de iframe konusunu araştırıyordum bir çok kaynak ile karşılaştım ama uygulamada sorunlar yaşadım sorun, iframe içerisinde gösterilmesi gereken sayfaların açılmaması size örnek olarak incelediğim bir siteyi gösteriyorum
http://www.themidnightcoders.com/blog/2006/12/mixing-html-and-flex-using-iframe.html
yanıtlarınız için şimden teşekkürler
Cevaplar
( Faydalı Cevapları Göster )
Yazdığım kodun bi örneği bu yanlız bunun flex 2 ye göre uyarlandığını biliyorum ancak orada da denememe rağmen sonuç alamıyorum herhangi birhata vermiyor yani iframe içerisinde bulunan google sayfasını açmıyor herhangi bir tepkisi yok. flex 3 kullandığımı belirtem isterim buna göre bana yardımcı olursanız çok sevinirim
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*" width="427" height="282" viewSourceURL="srcview/index.html">
<mx:Panel x="10" y="10" width="407" height="262" layout="absolute" title="Flex iframe">
<local:IFrame source="http://www.google.com" label="google" width="100%" height="100%">
</local:IFrame>
</mx:Panel>
</mx:Application>
kucuk bi deneme yaptim ve biraz garip gozukse de calisti. oncelikle bu ornegin nasil calistigini kisaca anlatayim. yabancilarin "tricky" bizim ise "uc kagitcilik" dedigimiz bisey. aslinda hic hosuma gitmedi izlenen yol, daha iyisini yapabilirsin.
IFrame.mxml dosyasina bakarsan(Bu dosyayi indirdigini varsayiyorum), bazi JavaScript cagrilari goreceksin. HTML sayfasinda bir DIV etiketinin gorunur olup olmamasini ve icerisindeki bir iframe’in SRC degerini degistirmeyi saglayan kucuk bir iki metod var. DIV’in x,y ve width-height degerleriyle oynayip katmani Flex uygulamasinin ustune getirmeyi calisiyorsun, butun numara bu. Bu DIV icerisinde de IFRAME etiketi yer almakta. Dolayisiyla aslinda IFRAME, flash dosyasindan acilir gibi bir izlenim ediniyoruz.
Peki sende neden calismadi?
1. local:Iframe ile baslayan tanimda visible="true" demelisin. 2. Projenin olusturdugu HTML sayfasina (bin-debug altinda mesela) su JavaScript kodlarini eklemelisin:
<script>
// ....
function moveIFrame(x,y,w,h) {
var frameRef=document.getElementById("myFrame");
frameRef.style.left=x;
frameRef.style.top=y;
var iFrameRef=document.getElementById("myIFrame");
iFrameRef.width=w;
iFrameRef.height=h;
}
function hideIFrame(){
document.getElementById("myFrame").style.visibility="hidden";
}
function showIFrame(){
document.getElementById("myFrame").style.visibility="visible";
}
function loadIFrame(url){
document.getElementById("myFrame").innerHTML = "<iframe id='myIFrame' src='" + url + "'frameborder='0'></iframe>";
}
....
</script>
Bunlari eklemedigin icin calismadi.
3. HTML sayfasinin en altina bir DIV acip icerisine IFRAME yerlestirmelisin:
<div id="myFrame" style="position:absolute;background-color:transparent;border:0px;visibility:hidden;">
<iframe frameborder="0" scrolling="no" width="100" height="100"></iframe>
</div>
Bunlari yapinca www.google.com sayfasini garip de olsa gordum. Garip derken surekli flicking oldu ve bazi yazilar tam olarak render edilemedi. Bunun nedeni DIV katmanini Flash uzerine tasimak olarak soyleyebilirim. Flash dosyasi kendini surekli yenilemek istedi.
Tavsiyem, baska bir yolla bu isi basarmaya calis. HTML rendering yapabilecegin bilesenler ara.
Merhaba,
Öncelikle Selçuk Bey’e teşekkür ederim yarımlarında dolayı yazdığı yorumdaki olayı tam olarak anlayamadğımdan kendisine özel mesaj ile ulaştım ve yardımını istedim ve çok yardımcı oldu bu arada yazdığı cevapta belki başkalarınada yarayacak bir yazı olacağını düşündüm ve burada paylaşma istedim,
Sorum şuydu flex’de dışarıya nasıl link vereceğimi sordum cevabı aşağıdadır.
Bu olay java script ile oluyormuş.
<?xml version="1.0" encoding="iso-8859-1"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
import flash.external.*;
public function callWrapper():void {
var url:String = "http://www.google.com";
var f:String = "newWindow"
var m:String = ExternalInterface.call(f, url);
}
</mx:Script>
<mx:Button label="Popup" click="callWrapper()"/>
</mx:Application>
Aynı sayfada açtırmak için
<SCRIPT LANGUAGE="JavaScript">
function newWindow(a) {
window.open(a,'popup')
return "google basarili";
}
</SCRIPT>
umarım işinize yarar..
Selçuk Bozdağa tekrar teşekkür ediyorum
Etkinlikler
Yarışma
Fikir10000 Dijital Pazarlama Fikir Yarışması
Fikir10000 Dijital Pazarlama Fikir Yarışması
ADTECH tarafından düzenlenen Fikir10000 yarışmasına; dijital pazarlama ile ilgili size ait olan fikrinizle katılabilir ve 10.000 YTL’lik birinci...
Kategori:
Yarışma
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 572 (0 kayıtlı, 572 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Neler Yapılabilir?
Yeni bir portal, 30 civarında online / offline etkinlik, seminer vb rağmen MMIstanbul sanıyoruz ki halen hakettiği ilgiyi göremedi. " ...
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız








yazdigin kodu gonderebilir misin?