Можно ли запустить модал, у которого нет свойства ISDLG?
-
16-10-2019 - |
Вопрос
Мне нужно открыть внешнюю веб -страницу, скажем, http://google.com в модальном диалоге. Так что если бы я сделал
SP.UI.ModalDialog.showModalDialog(options);
Я получаю модальное окно, однако, он добавляет параметр string isdlg = 1. На самом деле, Google поворачивается на добавленный параметр.
Решение
То, что вы могли бы сделать, это вскрывать страницу приложения в модальном диалоговом окне (с использованием диалогового пласта 2010), которая содержит iframe в вашем желаемом месте. Вы можете пройти в URL, который iframe должен отображать в QueryString (убедитесь, что вы сначала кодируете его, и декодировать его на странице приложения).
Остерегайтесь, что в 2010 году у вас также будет лента, так что я сделал, чтобы обойти, это следует за этот пост в блоге Чтобы включить еще один параметр QueryString при вызове страницы вашего приложения, чтобы скрыть ленту.
Другие советы
Следуя ответу Джеймса, html
вариант Showmodaldialog Позволяет вам напрямую отправлять HTML, чтобы отображаться в диалоговом окне.
К сожалению, он принимает объект HTML DOM, а не строку HTML, поэтому нам придется сделать следующее:
<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')
в ссылке. Обратите внимание, что этот код чувствителен к случаям.