cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

When onExit() will be executed?

0 Likes
10,748

Hi,

Documentation tells that onExit() calls by framework when view is destroyed.

Does any one know whether Controller's onExit() will be called either on page "refresh" OR closing browser tab.?

Thanks,

Srinath

View Entire Topic
0 Likes

Ok.

Is there any way to distinguish between "refresh" and "tab close" of a Browser by using UI5 ?

Thanks,

Srinath

former_member227918
Active Contributor

yes, i think you can use navigation.type which will return you the navigation type, it will return 1 or 0 (not sure) on browser refresh.

check below code inside beforeunload function.

window.addEventListener("beforeunload", function (oEvt) {

if (oEvt.currentTarget.performance.navigation.type == 1){

alert("refresh called!");

}

});

OR

Store a cookie the first time visits the page, and you can check this key in beforeunload function whether your key is exists or not, if yes then browser refresh called.

Hope this help.

Regards,

Akhilesh

0 Likes

Hi Akhilesh,

"navigation.type" for the first time refresh returning "0" and there onwards returning "1".

Thanks,

0 Likes

Hi Akhilesh,

Got the solution for above issue, where we are getting "0" on refresh for the first time.

"For the first time the page was loaded by direct navigation. Then subsequent reloads will set '1' on refresh, because the page is now loaded by reloading."

Thank you so much!!!

By using '1' on refresh i will keep condition to not execute the code.

Thanks,

Srinath

former_member227918
Active Contributor
0 Likes

good to hear your issue resolved !:)