Bootstrap modal被sliverlight掩盖。

时间:2022-02-16 16:27:50

Bootstrap中的modal被silverlight遮挡了,解决方案:

<object  id='xx'....>
...
<param name="windowless" value="true"/>
...
</object>

无窗口模式的限制如下:

  • 性能问题。无窗口模式需要进行大量的计算,与透明插件背景相结合时更是如此。。

  • 不支持将鼠标输入传递到插件与之重叠的 HTML 内容,即使在该插件具有透明背景时也是这样。若要通过 HTML 处理鼠标输入,HTML 必须与 Silverlight 插件重叠。

  • 在插件的边界外没有鼠标捕获支持。

  • 没有辅助功能或 IME 支持。

  • 在全屏模式下不支持无窗口模式。

  • 不支持在使用超链接导航到新窗口时禁止显示弹出窗口阻止程序。此外,还要注意的是,在 Safari 上不支持禁止显示弹出窗口阻止程序,无论窗口模式如何。

  • 由于浏览器和平台限制而产生的问题:

    • 在 Windows XP 上、禁用了 DWM 的 Windows Vista 上和 Internet Explorer 中(与平台无关),在动画和视频播放中出现可视的撕裂。

    • 在与 Safari 中的 HTML 内容重叠时,呈现不可靠。

    • 基于 Mozilla 的浏览器中的焦点问题。当焦点在该插件和其他插件或 HTML 控件之间移动时,多个控件有时候显得具有焦点。

关于Windowless更多具体的阐述,可以查看MSDN中的Windowless解析。

常用嵌入Silverlight 组件的对象

<object data="data:application/x-silverlight," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/Video_Presentations.xap"/>//源文件
<param name="onerror" value="onSilverlightError" />//错误处理函数
<param name="background" value="transparent" />//背景
<param name="minRuntimeVersion" value="4.0.50826.0" />//运行最低版本
<param name="autoUpgrade" value="true" />//是否自动更新
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration: none;">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
</a>
</object>

通过msdn我们可以看到Silverlight Plug-in Object的所有引用:   

http://msdn.microsoft.com/zh-cn/bb412366 下表列出了几乎所有可能被使用到的参数:

[参数] -------------------------[描述]----------------------------------[类型]

allowHtmlPopupWindow 指示Silverlight插件中承载的内容是否可以使用HtmlPage.PopupWindow 方法来显示新的浏览器窗口。对于同一个域中的应用程序,默认值为true;对于跨域应用程序,默认值为false。 Boolean
autoUpgrade 指示早于minRuntimeVersion的Silverlight插件版本是否将尝试自动更新。默认值为true。 Boolean
background Silverlight插件所在区域的默认背景色。该值默认情况下为白色。 Color with or without alpha (RGB, ScRGB)
enableAutoZoom 指示宿主(对于某些平台)是否可以调用增加DPI的缩放行为。默认为true。 Boolean
enableCacheVisualization 指示是否使用非生产分析可视化模式,显示页面中使用色彩覆盖进行GPU加速的部分。通常在调试状态下使用,不要在已发布的版本中使用该参数。默认值为false。Boolean
enableFramerateCounter 指示是否在当前浏览器的状态栏中显示当前的帧率(仅限于Microsoft Windows操作系统上的Microsoft Internet Explorer浏览器)。  Boolean
enableGPUAcceleration 指示是否将图形处理器单元(GPU)硬件加速用于缓存合成,这将使图形获得优化。默认值为false。(注意该属性不适用于无窗口模式,也就是在windowless=true的情况下设置该值为true无效) Boolean
enablehtmlaccess 指示Silverlight插件是否有权访问当前浏览器中的DOM元素(文档对象模型)。对于同一个域中的应用程序,默认值为true;对于跨域应用程序,默认值为false。 Boolean
enableNavigation 指示Silverlight插件中所承载的内容是否可以使用HyperlinkButton来导航到外部URI。默认值为all。 all:承载的内容可以使用HyperlinkButton导航到任何URI。none:承载的内容无法使用HyperlinkButton导航到外部URI,但仍允许用于内部导航的相对URI。
enableRedrawRegions 确定是否显示用每个帧显示重绘的各个插件区域,此属性仅用于在部署期间进行性能优化和可视化,不要在任何已部署的Silverlight应用程序中指定它。默认值为false。 Boolean
fullScreen 指示Silverlight插件是否显示为全屏模式。默认值为false。 Boolean
getSystemGlyphTypefaces 返回用户的计算机上安装的字体的GlyTypefaceCollection。 GlyTypefaceCollection
initParams 用户自定义的初始化参数列表。 以逗号分隔开的键值对。
isLoaded 是否加载了所有初始内容。默认值为false。 Boolean
maxframerate Silverlight每秒可呈现的最大帧数。默认值为60。注意减小此值可能会使Silverlight动画看起来不太流畅,但同时会加大Silverlight动画和Javascript动画之间并行执行的效率。 Integer
minRuntimeVersion 指示运行基于Silverlight的应用程序所需的最小版本号。 Version number
onError 指定在Silverlight插件生成本机代码级别的XAML分析错误或运行时错误时,要调试的处理程序的名称。 JavaScript function名称
onFullScreenChanged 指定FullScreenChanged事件的处理程序,当Silverlight插件的FullScreen属性更改时触发该事件。 JavaScript function名称
onLoad 指定Loaded事件的处理程序,当Silverlight插件已完成加载到浏览器DOM中时触发该事件。 JavaScript function名称
onResize 指定Resized事件的处理程序,当调整Silverlight插件object标记的大小以及当Silverlight插件的ActualHeight或ActiveWidth发生更改时触发该事件。 JavaScript function名称 onSourceDownloadComplete 指定在完成源下载时调用的事件处理程序的名称。 JavaScript function名称
onSourceDownloadProgressChanged 指定在源下载进度更改时调用的事件处理程序的名称。 JavaScript function名称
onZoom 指定Silverlight插件区域被宿主程序缩放时的事件处理程序。JavaScript function名称
source 用于加载和运行Silverlight插件的xap包的地址。 URI
splashScreenSource 指定在加载Silverlight插件时的初始屏幕画面。 URI
windowless 指示Silverlight插件是否显示为无窗口模式。默认值为false。 Boolean