How can I execute JavaScript on a SFDC Standard Detail Page?

  • *NOTE: This is not feasible as of the latest SFDC Releases. *

    I have a requirement to execute some JavaScript on a SFDC Standard Detail page.

    Specifically we would like to remove the ability for the users to add Notes to an object, but still retain the ability to add Attachments.

    You cannot remove the button from the Notes & Attachments related list via standard declrative features (Page Layouts, etc). We would like to remove the "New Note" button, as well as rename the Related List to "Attachments".

    I know I could do this in JavaScript by editing the DOM. Is there a way I can run JavaScript in a standard SFDC detail page?

  • The only way we found to insert code directly into the DOM of any Salesforce page is via a Home Page Component (Setup > Customize > Home > Home Page Components).

    Create a New Custom Component, Type = HTML Area. In the editor, check the "Show HTML" checkbox in the upper right. You can then put in arbitrary HTML and JavaScript and it can traverse the DOM.

    If you just want your code on a single page, create a "Wide (Right) Column" component and add it to your page layout.

    If you want the code to run on every* page in SFDC, then you'll want to put it into a "Narrow (Left) Column" (often referred to as the sidebar) component, check the Setup > Customize > User Interface > Show Custom Sidebar Components on All Pages checkbox, and finally select it in Setup > Customize > Home > Home Page Layouts > your layout.

    Home Page Components don't need to have any visible UI.

    • Chatter pages don't have the sidebar, so this won't work there. The Service Cloud Console also doesn't show the sidebar and has no equivalent, so you can't do this there either.

    Great explanation! The only things I would add would be to ensure you create a Narrow (Left) Column component, and click 'Show HTML' (top right of the Formatting Controls).

    Thanks for the extra clarification! We've been doing this via Eclipse/Ant for a long time now, so I forgot to include the details of doing it via the UI.

    "If you just want your code on a single page, create a "Wide (Right) Column" component and add it to your page layout." How does that work? I don't think a home page component can be added to a page layout for an object

    this is not working anymore?

    this has been disabled in recent release...any workaround?

    @SanTosh yes, see my workaround below

License under CC-BY-SA with attribution

Content dated before 7/24/2021 11:53 AM

Tags used