Я следил за по этой ссылке о том, как загружать внешний контент в модальное диалоговое окно jQuery. В моем случае я пытаюсь загрузить файл. jsp во всплывающее диалоговое окно.
Проблема, с которой я столкнулся, состоит в том, что jsp должен знать информацию об окне, которое его вызывает. Раньше это делалось с помощью showModalDialog, где вы могли передать аргумент «окно». Здесь я не уверен, как я могу передать такую информацию, все, что я видел в Интернете, - это люди, которым нужно передавать параметры URL, что на самом деле не относится к моему случаю.
У меня есть:
jQuery( "#addentry" ).on( "click", function() {
jQuery("#thedialog").attr('src', 'myfile.jsp');
/* myDialog.load('myfile.jsp').dialog(); */
return false;
});
В myfile.jsp
ожидается извлечение информации из «окна», о котором я мало что знаю; Я полагаю, что это встроенный объект, который дает информацию о текущем окне? За исключением того, что сейчас без showModalDialog, окно не передается, и вся информация, которую он ожидает получить, равна нулю. Как я могу обойти это?
Изменить: я попробовал что-то вроде
var frame = document.getElementById('thedialog');
frame.contentWindow.window = window; // This is probably bad
frame.contentWindow.form = form; // This is bad too probably
jsp, загруженный в iframe, должен получить доступ к окну и форме, но когда он пытается do window.dialogArguments.object_of_interest
, object_of_interest получает консольную ошибку как null.
Edit 2 : я даже не уверен, что iframe - это способ go здесь, я пытался загрузить https://google.com в iframe, и хотя я мог видеть на вкладке сети в инструментах разработчика моего браузера, что запрос GET отправляется с кодом ответа 200, я не получаю всплывающего окна.
Редактировать 3 : Я пробовал еще несколько вещей, например, использовал <jsp:include page=... />
для включения jsp в <div>
, которое составляет всплывающее окно, но когда я попытался загрузите родительскую страницу, она была полностью пустой. Как будто эта единственная строка препятствовала отображению страницы. Я попытался выполнить проверку работоспособности и загрузить jsp в новое окно с помощью window.open ("myfile. jsp"), но когда он открылся, мне было предложено войти в систему (это консоль администратора) и не было переведите меня на правильную страницу.