
在《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>
<iframe style='visibility:hIDden;height:0;wIDth:0;border:0px'></iframe>
</div>
在对应的onSilverlightLoaded事件中可以获得<object>元素及包含他的<div>:
function onSilverlightHomePeoplePickerLoaded(sender, args) {var objElement = sender.getHost();
var divHost = objElement.parentNode;
}
使用<asp:Silverlight />控件实际上生成的也是<object>,只不过在<object>标签外面加了一个<span>,大致等价于:
<span><object>
.
</object>
</span>
所以如果将上面的<object>改成用<asp:Silverlight />控件:
<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%" OnPluginLoaded="onSilverlightLoaded" />
</div>
对应的JavaScript代码要稍做修改:
function onSilverlightHomePeoplePickerLoaded(sender, args) {var objElement = sender.get_element();
var divHost = objElement.parentNode.parentNode;} 总结
以上是内存溢出为你收集整理的Silverlight 2.0在IE6 SP2上的虚线边框问题全部内容,希望文章能够帮你解决Silverlight 2.0在IE6 SP2上的虚线边框问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)