艾伟:Silverlight 2.0在IE6 SP2上的虚线边框问题

简介:   在《Silverlight嵌入到HTML之windowless属性及运用AjaxControlToolKit时出现虚线边框的问题》里谈一些Silverlight在浏览器上运行时会出现虚线边框的问题,当时主要考虑了IE7和FireFox,却没想到在ie6 sp2上还是会出现虚线边框,必须鼠标点击一次让其获得焦点虚线边框才消失。

  在《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:le
ft"
>
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" style="wi
dth: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 Silv
erlight"
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>

  所以如果将上面的

  <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="onSilverlig
htLoaded"
/>
</div>

  对应的javascript代码要稍做修改:

  function onSilverlightHomePeoplePickerLoaded(sender, args) {            
var objElement = sender.get_element();
var divHost = objElement.parentNode.parentNode;
}
目录
相关文章
|
C++ 数据格式 XML
duilib 的IE浏览器控件去边框和去滚动条的代码
转载请说明原出处,谢谢~~         近些天在duilib群里经常有朋友问起,怎么让duilib的IE控件可以去边框,去滚动条的问题,或者是如何去控件IE控件的行为。
1330 0
|
Web App开发 前端开发 JavaScript
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
Web App开发 XML 开发框架
技术心得记录:在IE浏览器中的奇怪页面表现
技术心得记录:在IE浏览器中的奇怪页面表现
329 0
|
Web App开发 XML 编解码
IE浏览器下载文件中文文件名乱码问题解决
IE浏览器下载文件中文文件名乱码问题解决
673 0
|
JavaScript 前端开发
|
JavaScript
VUE——如何兼容IE9|IE10|IE11浏览器
VUE——如何兼容IE9|IE10|IE11浏览器
400 0
VUE——如何兼容IE9|IE10|IE11浏览器
|
安全 网络安全
用IE浏览器访问网站提示证书错误
当你在Internet Explorer中遇到证书错误提示,通常是因网站SSL/TLS证书问题或浏览器安全设置需调整。解决方法包括: 检查时间设置 调整IE设置 安装证书 调整计算机时间
2171 3