silverlight:Silverlight 2.0在IE6 SP2上的虚线边框问题来源: 发布时间:星期日, 2009年8月16日 浏览:11次 评论:0
在Silverlight嵌入到HTML的windowless属性及运用AjaxControlToolKit时出现虚线边框问题里谈些Silverlight在浏览器上运行时会出现虚线边框问题当时主要考虑了IE7和FireFox却没想到在ie6 sp2上还是会出现虚线边框必须鼠标点击次让其获得焦点虚线边框才消失
经过测试发现如果用<asp:Silverlight />引入silverlight来取代直接使用<object>可以避免虚线边框出现实际上直接使用<object>代码可以完全移植到<asp:Silverlight />里<asp:Silverlight />是动态生成了object标签只不过其中很多js我还没有看得很明白 需要注意点直接使用<object>对应代码可以写成这样: <div id="silverlightHost" style="width:275px;height:324px;background-color:transparent;float:left"> <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" style="width:100%;height:100%;position:absolute"> <param name="source" value="../ClientBin/Silverlight.xap"/> <param name="onerror" value="onSilverlightError" /> <param name="onload" value="onSilverlightLoaded" /> <param name="background" value="transparent" /> <param name="windowless" value="true" /> <param name="minRuntimeVersion" value="2.0.31005.0" /> <param name="autoUpgrade" value="true" /> <a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"> <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/> </a> </object> <rame style='visibility:hidden;height:0;width:0;border:0px'></rame> </div> 在对应onSilverlightLoaded事件中可以获得<object>元素及包含他<div>: function _disibledevent=>var divHost = objElement.parentNode; } 使用<asp:Silverlight />Control控件实际上生成也是<object>只不过在<object>标签外面加了个<span>大致等价于: <span> <object> . </object> </span> 所以如果将上面<object>改成用<asp:Silverlight />Control控件: <div id="silverlightHost" style="height:100%;"> <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/SilverlightApplication1.xap" MinimumVersion="2.0.31005.0" Width="100%" Height="100%" _disibledevent=></div> 对应javascript代码要稍做修改: function _disibledevent=>var divHost = objElement.parentNode.parentNode; } 0
相关文章
读者评论发表评论 |
|