• 艾伟:Silverlight 2.0在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="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;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;
    }
  • 相关阅读:
    史上最走心的Webpack4.0中级教程——配置之外你应该知道事
    javascript基础修炼(11)——DOM-DIFF的实现
    一统江湖的大前端(7)React.js-从开发者到工程师
    express中间件系统的基本实现
    js中如何在不影响既有事件监听的前提下新增监听器
    Zabbix的应用(6)----常见错误
    Ansible初级应用
    一个好用的小工具 thefuck
    使用python读取word文件里的表格信息
    01010_Eclipse中项目的jar包导入与导出
  • 原文地址:https://www.cnblogs.com/waw/p/2156789.html
Copyright © 2020-2023  润新知