Silverlight 2在IE6 SP2上虛線邊框問題
在Silverlight嵌入到HTML之windowless屬性及運(yùn)用AjaxControlToolKit時(shí)出現(xiàn)虛線邊框的問題里談一些Silverlight在瀏覽器上運(yùn)行時(shí)會(huì)出現(xiàn)虛線邊框的問題,當(dāng)時(shí)主要考慮了IE7和FireFox,卻沒想到在IE6 sp2上還是會(huì)出現(xiàn)虛線邊框,必須鼠標(biāo)點(diǎn)擊一次讓其獲得焦點(diǎn)虛線邊框才消失。
經(jīng)過測(cè)試,發(fā)現(xiàn)如果用<asp:Silverlight />引入silverlight來取代直接使用<object>可以避免虛線邊框的出現(xiàn)。實(shí)際上直接使用<object>的代碼可以完全移植到<asp:Silverlight />里,<asp:Silverlight />是動(dòng)態(tài)生成了object標(biāo)簽的,只不過其中的很多js我還沒有看得很明白。
需要注意的一點(diǎn),直接使用<object>對(duì)應(yīng)的代碼可以寫成這樣:
<div id="silverlightHost" style="width:275px; height:324px;background-color:transparent;float:left"> type="application/x-silverlight-2" style="width:100%;height:100%;position:absolute"> alt="Get Microsoft Silverlight" style="border-style: none"/> |
在對(duì)應(yīng)的onSilverlightLoaded事件中可以獲得<object>元素及包含他的<div>:
function onSilverlightHomePeoplePickerLoaded(sender, args) { |
使用<asp:Silverlight />控件實(shí)際上生成的也是<object>,只不過在<object>標(biāo)簽外面加了一個(gè)<span>,大致等價(jià)于:
<span> |
<div id="silverlightHost" style="height:100%;"> MinimumVersion="2.0.31005.0" Width="100%" Height="100%" OnPluginLoaded="onSilverlightLoaded" /> |
對(duì)應(yīng)的javascript代碼要稍做修改:
function onSilverlightHomePeoplePickerLoaded(sender, args) { |
【編輯推薦】