Всплывающие окна должны открываться вручную.
Весь интерфейс - суп. Всплывающее окно также должно указывать на действительную HTML-страницу (локально или удаленно, это не имеет значения). Однако после загрузки вы можете обращаться с DOM так, как вам нравится.
Как говорится, перехватите событие "search" и отобразите его во всплывающей DOM. Это может быть перенаправление самой выпадающей панели, iframe с динамически установленной целью или другие манипуляции с DOM.
Одна хитрость, которую я использовал, - это использование «универсальной» всплывающей подсказки, которая просто вызывает метод родительского окна, передавая его в качестве параметра (всплывающие окна являются просто дочерними окнами), а затем позволяет «основному» гаджету фактически обрабатывать Работа DOM на основе контекста.
// in "fuout.html"
jQuery(function ($j) {
var parent = System.Gadget.document
parent.loadFuout(document, $j)
})
// in main gadget html
document.loadFuout = function (fuout, _j) {
// other stuff based on current flyout context...
// fuout is document object of flyout
}
Обратите внимание: в моем случае я запускаю слегка измененный jQuery, в котором документ связан в закрытии. Это позволяет мне ссылаться на «правильный объект jQuery для документа», доступ к которому осуществляется через _j.