2013-02-19 4 views
1

Мы используем Salesforce и имеем встроенные iframe, которые показывают контент из другого приложения, которое мы разработали. Когда пользователь работает над полями в нашем iframe и теряет фокус на них, скрипт iframe сохраняет свои данные обратно в нашу систему. Однако могут быть случаи, когда пользователь вводит данные в одном из наших полей, но никогда не теряет фокус, а затем направляет внешнюю оболочку Salesforce для перехода на другую страницу. Это заставляет нашу область никогда не спасать, потому что она никогда не теряла фокуса.Обнаружение при закрытии iframe

Итак, для iframe существует какое-то событие разгрузки, к которому мы можем подключиться, и определить, нужно ли нам сохранять до того, как страница обновится с другим представлением Salesforce?

+0

нет надежного способа обнаружить, когда пользователь переходит от страницы. такие вещи, как window.onload, доступны в некоторых браузерах, но могут не срабатывать должным образом. –

+0

Возникает ли событие window.onbeforeunload event? – epascarello

ответ

2

Вы можете использовать следующий код в своем пользовательском приложении.

window.onbeforeunload = function(event) { 
    event = event || window.event; 
    var confirmClose = 'Are you sure?'; 
    // For IE and Firefox prior to version 4 
    if (event) { 
     event.returnValue = confirmClose; 
    } 
    // For Safari 
    return confirmClose; 
}