как обрабатывать выход из системы, когда браузер закрывается в flex 3? - PullRequest
1 голос
/ 15 марта 2010

В моем проекте был модуль аудита, который включал каждое записанное действие пользователя

поэтому, когда пользователь закрывает браузер, аудит в отношении выхода из системы должен быть сохранен в базе данных

Я нашел одно решение в сети, но оно работает в IE моей машины, но перестало работать в IE друзей. Почему? код:

window.onbeforeunload = clean_up; 
   function clean_up() 
   { 
    var flex = document.${application} || window.${application}; 
    flex.myFlexFunction(); 
   } 

Я помещаю этот код в файл index.template.html в файл-шаблоне html под flex src

и я помещаю приведенный ниже код в мой основной файл application.mxml

      ExternalInterface.addCallback("myFlexFunction",btnLogout); 

и я определил функцию выхода из системы

1 Ответ

0 голосов
/ 15 марта 2010

Хорошо, вот сделка. НЕ МОЖЕТ БЫТЬ НАДЕЖНЫ. Если это для аудита ... вам не повезло, и вы начали наполовину испробовать подход.

Почему?

Зайдите в диспетчер задач, убейте процесс IIS - ничего не выходит из системы. Нет аудита. Ergo - решение, скорее всего, не соответствует требованиям юридического аудита;)

Другой подход:

  • Позвоните в службу exvery X секунд с работающей страницы. Как каждые 5 секунд.
  • Предположим, клиент умирает, когда вы не принимаете вызов в течение 2 * X секунд (как через 10 секунд).

Таким образом, вы понимаете, когда клиент больше не подключается. Не мешает пользователю тянуть сетевой кабель и продолжать просмотр, поэтому сбой вызова метода аудита должен стереть содержимое HTML;)

Но, по крайней мере, вы также обрабатываете сбои / завершения работы браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...