You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Shazron Abdullah (JIRA)" <ji...@apache.org> on 2012/07/16 22:56:33 UTC

[jira] [Resolved] (CB-853) Deprecate window.invokeString - use window.handleOpenURL(url) instead

     [ https://issues.apache.org/jira/browse/CB-853?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shazron Abdullah resolved CB-853.
---------------------------------

    Resolution: Fixed

Fix commit - http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/commit/7f2e0160
                
> Deprecate window.invokeString - use window.handleOpenURL(url) instead
> ---------------------------------------------------------------------
>
>                 Key: CB-853
>                 URL: https://issues.apache.org/jira/browse/CB-853
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>            Reporter: Shazron Abdullah
>            Assignee: Shazron Abdullah
>             Fix For: 2.0.0
>
>
> Don't know about the other platforms, but there are two ways it is handled in iOS right now, we need to consolidate.
> Summary:
> The url scheme passed to the app is a form of inter-process communication, kinda like how we do gap:// urls, but this is up to the app developer on how they marshal/unmarshal the url into something they can use.
> Right now in iOS, it is a bit confusing - there are two ways that the URL is handled and passed off to the UIWebView.
>  1. On *first* app startup, the URL sent is passed off to the UIWebView by setting a global variable - *window.invokeString*. The URL is passed off untouched (see: https://github.com/apache/incubator-cordova-ios/blob/master/Cordova-based%20Application/Classes/AppDelegate.m#L67)
>  2. On *all* launches, the handleOpenURL function is called, and this in turn calls the global JavaScript function in the UIWebView *window.handleOpenURL()* and this is passed the URL, untouched (see: https://github.com/apache/incubator-cordova-ios/blob/master/Cordova-based%20Application/Classes/AppDelegate.m#L126)
> Apple Doc reference: http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html#//apple_ref/doc/uid/TP40007072-CH7-SW21
> Recommend sticking to handleOpenURL only, deprecate window.invokeString

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira