window.onload() не работает с html-контентом, созданным проприетарным fwk

Я использую платформу разработки мобильных приложений ADF Mobile, с помощью которой мы могли бы разрабатывать кроссплатформенные мобильные приложения. Уровень II может быть разработан с набором компонентов (AMX), которые генерируют пользовательский интерфейс на основе HTML5 и чья структура DOM может быть отлажена с помощью симулятора iOS + Браузер Safari встроен в отладчик. Также ADF Mobile внутренне использует Cordova

Мне нужно вызвать JavaScript, когда страница завершает загрузку. Я пробовал различные подходы, такие как

$(document).ready(function () {
    console.log("just inside the  $(document).ready()");
});

window.onload = function () {
    //handler function
};

/*
$(window).load(function () {
    //handler function
});
$(window).bind('load', function () {
    //handler function
});

window.addEventListener("load", handlerFunction);
*/

Все, что связано с событием "load", не выполняется, но событие "ready" запускается, как и ожидалось. Как только функция-обработчик связана с событием "load", когда мы проверяем объект окна html с помощью отладчика safari dom, атрибут onload имеет назначаемую нами функцию-обработчик, но единственная проблема заключается в том, что он не срабатывает, когда страница полностью загружена.

Могу ли я получить какие-либо стартовые сведения об устранении этой проблемы? Или любые указатели в получении обходных путей также подойдут.

Меня больше интересовало, как работает весь этот механизм.

2 ответа

Как насчет этого,

$(window).on('unload', function(){
      return 'Are you sure you want to leave?';
});

На самом деле некоторые браузеры, такие как Google Chrome, могут блокироваться, если вы попытаетесь предупредить в окне выгрузки.

Замените предупреждение на console.log или что-то еще менее навязчивое для пользователя, и событие будет успешно вызвано.

Надеюсь, это поможет вам.....

Попробуйте выполнить window.location.reload() из консоли отладчика Javascript.

Другие вопросы по тегам