WEB开发网
开发学院图形图像Flash Silverlight嵌入到HTML之windowless属性及运用Aja... 阅读

Silverlight嵌入到HTML之windowless属性及运用AjaxControlToolKit时出现虚线边框的问题

 2009-04-11 12:04:02 来源:WEB开发网   
核心提示: 显示如下: 按照微软提供的文档,一般情况下是不建议使用windowless模式的,Silverlight嵌入到HTML之windowless属性及运用AjaxControlToolKit时出现虚线边框的问题(3),因为这样silverlight就和html混合展现,会降低性能,页面弹出的a

显示如下:

Silverlight嵌入到HTML之windowless属性及运用AjaxControlToolKit时出现虚线边框的问题

按照微软提供的文档,一般情况下是不建议使用windowless模式的,因为这样silverlight就和html混合展现,会降低性能,特别是silveright程序比较复杂的时候或者高质量多媒体显示的时候。

在Windowsless模式下,一般情况下Silverlight程序周围是没有边框的,但在特定条件下,点击Silverlight程序或者Silverlight程序获得焦点后它的周围就出现了烦人的虚线边框。

我参与的一个项目里,原来将silverlight程序以windowless模式嵌入到html页面一切正常,但当页面中别的部分使用了AjaxControlToolkit的<ajaxToolkit:ModalPopupExtender />控件时,页面弹出的ajax对话框关闭后silverlight周围就出现了虚线边框。经过一番探索,发现AjaxControlToolKit对应的JS在处理ModalPopup时是将页面所有的元素的tabIndex设置为-1,从而达到不允许用户点击的目的。

disableTab: function() {
        /// <summary>
        /// Change the tab indices so we only tab through the modal popup
        /// (and hide SELECT tags in IE6)
        /// </summary>

        var i = 0;
        var tagElements;
        var tagElementsInPopUp = new Array();
        Array.clear(this._saveTabIndexes);

        //Save all popup's tag in tagElementsInPopUp
        for (var j = 0; j < this._tagWithTabIndex.length; j++) {
          
            tagElements = this._foregroundElement.getElementsByTagName(this._tagWithTabIndex[j]);
            for (var k = 0; k < tagElements.length; k++) {
                tagElementsInPopUp[i] = tagElements[k];
                i++;
            }
        }

        i = 0;
        for (var j = 0; j < this._tagWithTabIndex.length; j++) {
            tagElements = document.getElementsByTagName(this._tagWithTabIndex[j]);
            for (var k = 0; k < tagElements.length; k++) {
                if (Array.indexOf(tagElementsInPopUp, tagElements[k]) == -1) {
                    this._saveTabIndexes[i] = { tag: tagElements[k], index: tagElements[k].tabIndex };
                    tagElements[k].tabIndex = "-1";
                    i++;
                }
            }
        }

上一页  1 2 3 4  下一页

Tags:Silverlight 嵌入 HTML

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接