ISDLGプロパティを持たないモーダルを起動することは可能ですか?

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/10035

  •  16-10-2019
  •  | 
  •  

質問

たとえば、外部のWebページを開く必要があります http://google.com モーダルダイアログで。だから私がやるなら

SP.UI.ModalDialog.showModalDialog(options);

モーダルウィンドウを取得しますが、ISDLG = 1クエリ文字列パラメーターを追加します。実際、Googleは追加されたパラメーターを吐き出します。

役に立ちましたか?

解決

できることは、目的の場所にiframeを含むモーダルダイアログボックス(2010ダイアログフレームワークを使用)にアプリケーションページをポップアップすることです。 URLに渡すことができます。IFRAMEはクエリストリングに表示されます(最初にエンコードし、アプリケーションページでデコードしてください)。

2010年にはリボンもあるので、これを回避するためにしたことはフォローしていることに注意してください このブログ投稿 リボンを非表示にするためにアプリケーションページを呼び出すときに別のクエリストリングパラメーションを含めること。

他のヒント

ジェームズの答えから続いて、 html のオプション showmodaldialog ダイアログでレンダリングされるHTMLを直接送信できます。

残念ながら、HTML文字列ではなくHTML DOMオブジェクトを受け入れているため、以下を行う必要があります。

<script language="javascript">
    function popUp() {
        var frame = document.createElement('iframe');
        frame.setAttribute('src', 'http://tsstsst.com');
        frame.setAttribute('width', '99%');
        frame.setAttribute('height', '98%');

        var options = {
            title: 'TssTssT',
            width: 950,
            height: 600,
            html: frame
        };

        SP.UI.ModalDialog.showModalDialog(options);
    }
</script>
<button OnClick="popUp();return false;">View Stu's blog!</button>

アプリケーションページは不要です。

あなたは単にようなものを使うようにすることができます javascript:OpenPopUpPage('http://google.com') リンクで。このコードはケースに敏感であることに注意してください。

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top