[
https://issues.apache.org/jira/browse/CB-751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13273535#comment-13273535
]
Jesse MacFadyen commented on CB-751:
------------------------------------
It makes sense that different views within an application may want to limit
their supported orientations, so this was an opportunity to give the webview a
chance to decide if it should rotate.
This functionality is available on the native side for all devices, so to me it
makes sense to support it in cordova. However, until it is supported on all
platforms, or documented as a non-existent quirk, it is a defect.
Setting supported orientations in the plist in an iOS project is a one time
thing, IMHO the plist should always support all orientations and the
developer's code should be able to choose whether it wants to rotate based on
it's current state.
The previous mailing list discussion de-volved into building a vast API for the
webview code to specify it's available orientations at any given time, however
it is not possible to force an orientation change based on the call to set the
available orientations to something different than the current orientation.
The error above can be safely ignored, it is Obj-C calling a method it expects
to be defined on the window. 'shouldRotateToOrientation'
If you do not want to see the error message, because it bugs you, simply add :
window.shouldRotateToOrientation = function(newOrientation){return true;};
Alternatively, we could change the Obj-C side to be :
NSString* jsCall = [ NSString
stringWithFormat:@"(function(){if('shouldRotateToOrientation' in window) return
window.shouldRotateToOrientation(%d);})();",i];
Then at least no one would see errors output ..
> Undefined function is called when orientation change
> ----------------------------------------------------
>
> Key: CB-751
> URL: https://issues.apache.org/jira/browse/CB-751
> Project: Apache Cordova
> Issue Type: Bug
> Components: iOS
> Affects Versions: 1.6.0, 1.6.1, 1.7.0
> Environment: ipod, ios 5.1
> Reporter: Clement Vollet
> Assignee: Shazron Abdullah
> Fix For: 1.8.0
>
>
> I get an undefined exception when changing the orientation of the device.
> Steps to "recreate":
> in a new project, add the following in index.html:
> function onDeviceReady()
> {
> // do your thing!
> navigator.notification.alert("Cordova is working")
> window.onerror=function(error_msg, URL, line_number) {
> console.log("WINDOW > Message: " + error_msg);
> console.log("WINDOW > URL: " + URL);
> console.log("WINDOW > Line: " + line_number);
> }
> }
> And then in the simulator, rotate the screen.
--
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