[ 
https://issues.apache.org/jira/browse/CB-7606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14156161#comment-14156161
 ] 

Shazron Abdullah commented on CB-7606:
--------------------------------------

I agree that this is annoying and should be fixed (besides causing other 
problems). Here's why it was done this way:

1. app is not running (send event in AppDelegate, gets picked up in the view 
controller)
2. app is running (set javascript in AppDelegate)

Case (1) is when the WebView hasn't been created yet. The best solution is for 
the view controller to query the AppDelegate for any stored openURL call, then 
execute if available, then clear the stored openURL call.

> handleOpenURL handler firing more than necessary
> ------------------------------------------------
>
>                 Key: CB-7606
>                 URL: https://issues.apache.org/jira/browse/CB-7606
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 3.5.0
>            Reporter: Paul Kane
>
> I'm not an Obj-C or Cordova programmer so bear with me.
> Let's say my app is running. Then I hop over to my mail app and click on a 
> link (myapp://blahBlahBlah) that should open up my app. This works fine, the 
> app opens, my own URL handler (in javascript) takes over, etc.
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to