Salesforce1 or sforce.one.navigateToSobject not working in mobile

Salesforce1 or sforce.one.navigateToSobject not working in mobile

Use case

While working with Visualforce Page for Salesforce1 mobile following unexpected behavior will be expected

  • Navigation to Browser/New Tab
  • Deviation from Salesforce1 App
  • Navigation to standard detail/view page but not Salesforce1 View

Fix

In order to fix this issue please check following points are coded in Visuaforce page

  • Check for <meta> tag, if meta tag not there it won't work on mobile
<head>
   <meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
</head>
  • Include Apex.js for loading Salesforce1 libraries
<apex:includeScript value="/soap/ajax/32.0/apex.js"/>
  • Javascript function to identify mobile/desktop
function navigateTo(sObjectId) {
    if ((typeof sforce != 'undefined') && sforce && (!!sforce.one)){
        // Salesforce1 navigation                 
        sforce.one.navigateToSObject(sObjectId, 'detail');
    } else {
        // Set the window's URL using a Visualforce expression
        window.location.href = '{!$site.Prefix}' + '/' + sObjectId;
// site prefix helps when navigation in community
    }
}

Invoking js function

Pass object Id for <a> tag or some button like shown below,
<a href="#" onClick="navigateTo('{!sOjbectId}');">Click Here</a>

Hopefully this should fix your problem!

If still problem exists you can comment below

Subscribe to Phanindra Mangipudi

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe