Programmatic Customization: Lightning Experience Limitations

Many of your programmatic customizations work in Lightning Experience. But the new interface affects the way some features, such as Lightning Pages and Visualforce, behave.

Lightning Pages

Lightning Page tabs and custom Lightning Pages are currently available for the Salesforce1 mobile app only, and aren’t available in Lightning Experience.


This release contains a beta version of Visualforce for Lightning Experience that is production quality but has known limitations. Here are some of the most important considerations for organizations that have customized Salesforce with Visualforce. For complete details, score yourself a new developer badge by completing Visualforce & Lightning Experience in Trailhead.

Visualforce Is Wrapped in an iframe in Lightning Experience
In Salesforce Classic, Visualforce owns the entire page. In Lightning Experience, it’s wrapped in an embedded iframe instead. This wrapper has a number of effects, and it’s the main reason why a whole Trailhead module is devoted to covering the details. No Longer Used Just for Salesforce1
The JavaScript utility object used to be available only on Visualforce pages when running in Salesforce1. If your organization enables Lightning Experience, it’s also added to pages when running in Lightning Experience. If you’ve written code that makes assumptions about what the presence of means, you might need to update it.
You Can’t Set window.location
A common technique in JavaScript to navigate to a new page is to manipulate the window.location value. This technique isn’t possible in Lightning Experience. Use the navigation methods instead.
Object List Action Override Isn’t Accessible
The object list action, one of the six standard actions you can override with a Visualforce page, isn’t accessible in Lightning Experience. You can still override it, but your users can’t access it.
Lightning Experience App User Interface Is Always Visible
When running in Lightning Experience, Visualforce pages ignore the <apex:page> showHeader and showSidebar attributes. You can’t suppress the Lightning Experience header and sidebar.
Page Title Can’t Be Set
The <apex:page> title attribute has no effect.
Home Doesn’t Support Visualforce
The new Home in Lightning Experience can’t be customized, so you can’t add Visualforce elements to it.
Navigation Menu Doesn’t Support Visualforce
Your can’t customize the navigation menu, so you can’t add Visualforce items to it. Use the App Launcher instead.

Session Privilege Levels

Sessions obtained in a Lightning Experience context, by using $Api.Session_ID or GETSESSIONID(), have similar privileges to the Lightning session. As with the Lightning session, you can't use these session IDs to make API calls.