Web sayfası yaparken en olmadık zamanlarda en olmadık sorunların çıkması adeta bir kural… Geçenlerde bir web sitesi yaptım. Üstüne de flash formatında hazırlanmış bir banner yerleştirdim ve site tıkır tıkır çalışıyordu ancak site sahibi sol tarafta bulunan menünün açılır bir menü olmasını istedi. Ben de öyle yaptım. Sayfayı bir kontrol edeyim deyince beni bir sürpriz bekliyormuş. Menü sola doğru açılınca flash bannerin üstüne gelen kısım bannerin altında kalıyordu. Yani banner sanki havada yüzüyor ve onun alanına giren her şeyin üstünde duruyordu.
Bu sorunu çözmek için yaptıklarım:
Sayfaya flash ekleyince ilgili bölümde şöyle bir kod parçası oluşur
<param name="allowFullScreen" value="false" />
Bu kodun altına ben şöyle bir şey yazdım
<param name="wmode" value="transparent" />
Bu kod pek çok kere işe yaramıştı fakat bu kez işe yaramadı o zaman hem menü hem de banneri ayrı ayrı DIV içine alıp iki DIV in z-index değerlerini farklı yapmayı düşündüm ama hem sayfa hem de stiller üzerinde değişiklik yapmaya üşendim.
Ben de FLASH 8 ile yaptığım banneri FLASH CS3 ile açıp tekrar kaydettim. Kaydederken sordu bu dosyayı yeni formata göre mi kaydedeyim diye. Öyle kaydedersem eski sürümlerle açamayacaktım. Ben de vardır bunda bir iş dedim ve kaydettim. Daha sonrada File menüsünden Publish seçeneğine tıkladım. Böylece banner için fla, swf ve html uzantılı dosyalar oluşturuldu. Bir de js dosyası… (Bu js dosyasını swf ile server a atınca artık explorer “Bu denetimi etkinleştirmek için tıklayın” diye bir saçmalık yapmıyor )
Oluşturulan html dosyasının içine bakınca swf dosyasını göstermek için CS3 sürümünün eskiler oranla da ha çok kod yazdığını gördüm.
Kodlar artık şunun gibiydi.
'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swfla...
'width', '675',
'height', '150',
'src', 'flash/banner.swf',
'quality', 'high',
'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'window',
'devicefont', 'false',
'id', 'Untitled-3',
'bgcolor', '#ffffff',
'name', 'banner',
'menu', 'true',
'allowFullScreen', 'false',
'allowScriptAccess','sameDomain',
'movie', 'banner',
'salign', ''
Tabi yukarıdakiler kodların tamamı değil ama bizim işimize yarayacak olan yukarıda. Bu da bize yeter.
Yukarıdaki 'wmode', 'window',
satırına dikkat edin. O satırı aşağıdaki gibi değiştirince sorunum düzeldi.
'wmode', 'opaque',
Evet biraz uğraştım ama sonunda sorunumu bu şekilde çözüme kavuşturdum.