Я занимаюсь разработкой приложения для Facebook.
В этом приложении я использую диалоговое окно jquery ui для отображения содержимого div (которое приходит из ответа ajax).
Откроется диалоговое окно, прекрасно показывающее содержимое, возвращаемое при вызове ajax. Но происходит странное поведение. страница (кажется, мое приложение вызывается в fb iframe) постоянно обновляет , как будто оно публикует некоторые данные на постоянной основе.
Более того, высота элемента "ui-widget-overlay" div , который динамически генерируется диалоговым окном пользовательского интерфейса, непрерывно увеличивается и, похоже, никогда не становится стабильной. Может быть, эти два странных поведения как-то связаны. Не могу понять.
В связи с этим, даже если я использую свойство " modal: true " для своего диалога, я могу получить доступ ко всей странице за диалогом.
Фрагмент моего кода:
$.ajax({
type : "POST",
data : "id=1",
url : site_url + "lists/add_new",
success : function(response) {
$('#new_box').html(response);
$('#new_box').dialog({
modal: true,
position: 'top'
});
$('#new_box').dialog( "open" );
return false;
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
Пожалуйста, руководство.
Спасибо
UPDATE:
Похоже, я нашел виновника:
Установка свойства "modal" в значение "true" приводила к постоянному изменению размера наложения (прозрачного div между диалоговым окном и документом), принимая ширину и высоту документа, что, обнаружив при отладке диалогового окна js в Chrome, увеличивалось навечно. Не уверен, что вызывает то, что происходит: |
Теперь, когда я установил «модальный» на «ложь», все работает отлично, потому что больше нет «наложения», но, конечно, теперь я должен найти какое-то решение, чтобы «отключить» мой документ.
Любая подсказка, как я могу использовать "модальное" свойство как "true" ??
спасибо