When developing Visualforce Mobile pages, you can take advantage of the JavaScript library containing commands that trigger actions in Salesforce Classic Mobile, which helps provide a seamless user experience between Visualforce Mobile pages and the native client application.
The actions in the JavaScript library can be used in any Visualforce page on JavaScript-enabled iPhone and BlackBerry devices that support Visualforce. There is no support for Visualforce JavaScript libraries on Android devices. When using the JavaScript library for pages that display on BlackBerry smartphones, Salesforce recommends that version 4.6 or later of the BlackBerry operating system is installed on the device.
To call the functions in the library, you need a small amount of JavaScript code. The functions are:
<script type="application/x-javascript" src="/mobileclient/api/mobileforce.js"></script>
<script type="application/x-javascript" src="http://na1.salesforce.com/mobileclient/api/mobileforce.js"></script>
The following code is an example of a Visualforce page that uses all of the commands available in the JavaScript library:
<apex:page showheader="false"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Visualforce Mobile Trigger Test</title> <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" /> <!-- Using static resource --> <script type="application/x-javascript" src="/mobileclient/api/mobileforce.js"></script> <script> function sync() { mobileforce.device.sync(); return false; } function doClose() { mobileforce.device.close(); return false; } function syncClose() { mobileforce.device.syncClose(); return false; } updateLocation = function(lat,lon) { document.getElementById('lat').value = lat; document.getElementById('lon').value = lon; } function getLocation() { mobileforce.device.getLocation(updateLocation); return false; } </script> </head> <body> <h2>Triggers:</h2> <p> <a href="#" onclick="return sync();">JS sync</a><br/> <a href="#" onclick="return doClose();">JS close</a><br/> <a href="#" onclick="return syncClose();">JS sync and close</a><br/> <a href="mobileforce:///sync">HTML sync</a><br/> <a href="mobileforce:///close">HTML close</a><br/> <a href="mobileforce:///sync/close">HTML sync and close</a><br/> </p> <h2>Location:</h2> <p>Latitude: <input type="text" disabled="disabled" id="lat" name="lat" value=""/></p> <p>Logitude: <input type="text" disabled="disabled" id="lon" name="lon" value=""/></p> <a href="#" onclick="return getLocation();">Get location</a><br/> </body> </html> </apex:page>