1

複数のページで Silverlight を使用する Web アプリケーションでjQuery ダイアログを使用しています。ダイアログが SL ウィンドウのあるページに表示されると、ダイアログは SL の後ろに隠れます。 ウィンドウレスモードが使えません。 このダイアログを SL の前に表示する簡単な方法はありますか?

4

3 に答える 3

0

Silverlight アプリケーションの背景属性とウィンドウなし属性に次の値を設定すると、うまくいきました:)

<param name="background" value="transparent" /> 
<param name="windowless" value="true" />
于 2015-07-28T09:20:33.747 に答える
0

ダイアログと同じサイズのフローティング div をいつでも作成できます。Silverlight プラグインの上になります。ダイアログが閉じられたときに div を閉じるコードも必要です。

ダイアログは div の一部になるため、シルバーライトの上に浮かびます。

于 2012-08-29T14:53:26.127 に答える
0

フローティングdivで説明したのと同様のiframeを使用すると、うまく機能するようです。

微調整が必​​要かもしれませんが、これが他の人に役立つことを願っています。

ページに、次のような iframe を含めます。

<div id="popupDiv" style="display: none">
    popup contents...
</div>
<iframe id='popupSupporter-iframe' tabindex='-1' frameborder='0' style='display: block;
    position: absolute; z-index: -1; border: 0px none transparent; opacity: 0; top: auto;
    left: auto; width: auto; height: auto;'></iframe>

そして、ダイアログを宣言するスクリプト部分で:

$('#popupDiv').dialog({
    open: function (event, ui) {
        var myDialogIFrame = $('#popupSupporter-iframe');
        var myDialog = $('#popupDiv').dialog("widget");
        myDialogIFrame.css("z-index", "10");
        var left = myDialog.offset().left + 'px';
        var top = myDialog.offset().top + 'px';
        var height = (myDialog.height() + 15) + 'px';
        var width = (myDialog.width() + 15) + 'px';
        $(myDialogIFrame).css("left", left).css("top", top).css("height", height).css("width", width);
    },
    close: function (event, ui) {
        $('#popupSupporter-iframe').css("z-index", "-1");
    }
});
于 2012-08-29T18:51:55.537 に答える