ISDLGプロパティを持たないモーダルを起動することは可能ですか?
-
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')
リンクで。このコードはケースに敏感であることに注意してください。
所属していません sharepoint.stackexchange