Im using Liferay.Utils.Window, чтобы открыть окно (A), внутри этого окна я открываю другое окно (B), когда я закрываю окно (B), я хочу перезагрузить родительский окно (А). Я не могу использовать Liferay.Portlet.refresh («p_p_id_IdPortlet»), поскольку он не работает ... нормально, нет проблем, я перезагрузил iframe следующим образом:Получить элемент с jquery с помощью окна iframe
$ ('#' + windowId) .find (' iframe '). attr (' src ', function (i, val) {return val;});
Вот где появляется моя проблема, когда я пытаюсь запустить этот код на консоли Chrome я получаю «VM10008: 1 Uncaught TypeError: Не удается прочитать свойство„найти“в нуль (...)»
И странная вещь (действительно странно) заключается в том, что если я проверю элементы html, изменив вкладку внутри элементов chrome, я вернусь к консоли, и я снова запустил тот же код, и он работает ... странно. Я думаю, что когда я проверяю какой-то элемент dom, что-то загружается, что-то, что позволяет мне найти элемент im, ищущий. Любая помощь приветствуется.
С уважением,
EDIT: Я оставляю пример, чтобы понять: На консоли Chrome я пишу
$('.dialog-iframe-node')
<iframe class="dialog-iframe-node " frameborder="0" id="newAssignmentRoleDialogId_iframe_" name="newAssignmentRoleDialogId_iframe_" src="http://localhost:8080/group/catalogo-de-datos/manage-people?p_p_auth…e&_assignmentroletoperson_WAR_abecebcatalogportlet_personFirstName=Eduardo" style="height: 485px; width: 1218px;">#document</iframe>
$('#newAssignmentRoleDialogId_iframe')
null
Как видно я искать элемент по классам и основывает его, но он не найдет его id после того, как он сказал мне, что существует элемент
Ваш JS-код может работать по внутреннему документу, чтобы он не отражался. Можете ли вы попробовать использовать родительский документ? что-то вроде window.parent. –
Я пробовал, что он тоже не будет работать, он будет обращаться к window.parent.but, а там он не может найти мои модалы id – Elver
Селектор ошибочен в '$ ('# newAssignmentRoleDialogId_iframe')', поскольку атрибут id iframe является ' newAssignmentRoleDialogId_iframe_'. Последний '_' отсутствует в селекторе jQuery. –