Silverlight與Flash在FF中的一些注意點

作者: 小小娟  來源: 博客園  發布時間: 2011-03-10 16:59  閱讀: 913 次  推薦: 0   原文鏈接   [收藏]  
摘要:本文將向您講述Silverlight與Flash在FF中的一些注意點。

  在HTML中,Silverlight、Flash以object標簽的形式顯示,如以下代碼:

View Code
 
object data="data:application/x-silverlight-2," type="application/x-silverlight-2"
/object

  但是必須同時指定該object元素的height、width的值,否則在FF下不能顯示。

  同時如果height的值為百分比,則它的外圍元素必須有高度,否則也不顯示(width的值為百分比的情況也一樣)

如下代碼在FF下不能顯示:

View Code
 
div style="width:200px;"
object data="data:application/x-silverlight-2," type="application/x-silverlight-2" style=" height:100%;width:100%"
/object
/div

  如下代碼在FF下可以顯示(因為div默認寬度就是整個屏幕的寬度):

View Code
 
div style="height:200px;"
object data="data:application/x-silverlight-2," type="application/x-silverlight-2" style=" height:100%;width:100%"
/object
/div

  另一個注意點也是在FF下,當把object元素用style.display=none的形式隱藏掉,再用style.display=顯示出來的時候,Silverlight、

  Flash會重新加載,之前代碼中的一些屬性字段也都沒了。(隱藏掉外圍元素也是一樣,即object外面有個div,隱藏div再顯示一樣觸發重新加載)

  另外,改變該object元素的style.position值,幾乎都會讓Silverlight、Flash重新加載,比如從static到absolute,從static到relative,

  absolute到relative等等。將該object元素移動到別的DOM對象下面也會觸發重新加載,比如document.body.appendChild(obj)。

  以Silverlight為例:

  Silverlight的App代碼中,在Application啟動的時候,彈出一個提示框:

View Code
 
private void Application_Startup(object sender, StartupEventArgs e)
{

this.RootVisual = new MainPage();
MessageBox.Show(
"啟動);
}

  頁面代碼:

View Code
 
object id="obj" data="data:application/x-silverlight-2," type="application/x-silverlight-2" style=" height:110px;width:110px;"
param name="source" value="ClientBin/Test.xap"/
param name="background" value="white" /
param name="minRuntimeVersion" value="3.0" /
param name="autoUpgrade" value="true" /
/object
br /br /br /br /br /br /br /br /
input type="button" value="隱藏?" onclick="obj.style.display='none'"/
input type="button" value="顯示" onclick="obj.style.display='block'"/
br /br /
select id="Select1" value="inherit"
option value="inherit"inherit/option
option value="absolute"absolute/option
option value="fixed"fixed/option
option value="relative"relative/option
option value="static"static/option
/select
input type="button" value="設置position" onclick="obj.style.position=Select1.value"/
script type="text/javascript"
var obj = document.getElementById('obj');
var Select1 = document.getElementById('Select1');
/script

  這樣由于在FF中詭異的重新加載問題,如果實際應用中確實要隱藏掉object元素,可以設置style.visibility=hidden,雖然這樣該元素還是在頁面上占著位置。目前還沒找到完美的解決方案。

0
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()