In online examination once candidate has clicks on start button i dont want to allow him to go back (to previous pages) and he should be in same page if he do any activities
While you can prevent the back button, you can't prevent the user from disabling JS while he takes the exam. This makes JS approaches practically useless.
Assuming that previous pages are questionaires, I suggest that once the user moves away from the page, any further access to that page will be invalid. This can easily be done using a server-side language and a database to track pages visited by the user.
Do note that some browsers do a "refresh" on the previous page when doing a back, while others load them from the cache. The latter will make the page still accessible even if you marked it inaccessible on the server. What you can further do is to invalidate any action taken on that page once it has been deemed invalid for access. That way, even if the user had a copy of that page, he can't do anything with it.
Besides, it's an exam, and JS is a bad place to put some exam logic as it can easily be inspected and modified. You should leave everything on the server instead.
Try with the below code. This code tested with latest Chrome and Firefox browsers.
<script type="text/javascript">
history.pushState(null, null, location.href);
history.back();
history.forward();
window.onpopstate = function () { history.go(1); };
</script>
Try this script
<script>
window.location.hash="no-back-button";
window.location.hash="Again-No-back-button";//again because google chrome don't insert first hash into history
window.onhashchange=function(){window.location.hash="no-back-button";}
</script>
Also refer this link. This link contain demo & Download code
you can not actually override the default behaviour of browsers back button, it is a security concern among browsers.
however you can code in some sense that make your back appear disable. Check one of my responses I gave some time back. how to stop browser back button using javascript. It is still working fine for me (Bad luck for IE-7). But what if some one has disable javascript in browser. This will fail this logic completely which could be a rare case.
another practice you can follow is to open your page link inside window.open()
. But it has its own advantages and disadvantages. See Here
You can use replace()
window.location.replace('your url here');
Try in your page following function to prevent unloading of form.
$(window).on('beforeunload', function(){
return false;
});
Or try unload function and prevent unloading of current page silently.