I'm not an Obj-C or Cordova programmer so bear with me.
However in Obj-C the view controller is – incorrectly, I believe – storing that scheme data (blahBlahBlah) in self.openURL (so that it can be picked up later in processOpenURL function, called during webView initialization).
This isn't normally a problem, except when you move to a new page (window.href = "/new_page"), the webView initialization runs again and picks up the old (already-acted-upon) openURL variable. (it's then set to nil, so that it doesn't get acted upon a third time, fourth time, etc...).
I might have some details wrong, but it should be fairly easy to walk through with a project-wide search for "openurl". Just seems like a slightly wrong logic-flow, which unfortunately is interfering with my app.