Are we to guess at the code that you wrote?
Make some sort of demo that we can try. You can use jsFiddle, codePen, Plunkr, etc. Plunkr is good for multi-page, but since you made it as single-page, you could use any of them.
Don't include parts that aren't relevant to demonstrating the problem. Make it minimal! You will often find the problem your self in the process of making a minimal demo.
We also can't guess what you mean by "application". Is it a Cordova app? A webapp ("save to home screen")? Something else?
The most obvious reason for your symptom would be forgetting to call event.preventDefault() in e.g. a submit callback function and so then the default browser action is taken, which would submit a form and load a new document from the server.
I also can't guess very well at how your barcode scanner interfaces with your webpage. Each scan "causes" (how?) an Ajax call....
Do you know how to remote-debug your "application"? Desktop Safari (on MacOS) and desktop Chrome (any platform) both support remote inspection and debugging of both web pages (Mobile Safari on iOS. Chrome on Android) and embedded WebViews. (You must use Safari desktop to debug iOS, and Chrome to debug Android). You connect a device to your desktop/laptop with USB, and you can inspect in your desktop browser debug tools.
You have to use some specific build settings. See the iOS/Android documentation if it is a native app with a WebView. For Android hybrid native apps, it is easiest if you use GenyMotion.
Then you can check the Ajax responses, see if the webview is loading a new document, etc.