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 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.
- sforce.one No Longer Used Just for Salesforce1
- You Can’t Set window.location
- 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.