The use case is in a Lightning community page.

There are many Salesforce lightning components and we want to include a VF page where resides a custom Javascript code.

The Javascript code need to control the components.


Is it possible?

If so, how could we get the Salesforce lightning component handler. Let's say the component name called 'CustLoginComponent'.

Use case: Try to manipulate the Salesforce lightning components on Chrome developer console.

If we create components dynamically, then we could save those components and access them later. However, in a lightning community page. I don't know how to find the component handler under this situation.

    var componentHdlr;

    $Lightning.use("c:SelfRegApp", function () {
            function (cmp) {
                // store the JS object and access it later
                componentHdlr = cmp;

Thanks so much!


  • 3
    Not only is your question too broad, but raises questions such as , why use a vf page and not a lightning cmp? Why? Additionally, have you attempted anything so far? Do you have any code you can share pointers MG as to where you are stuck? – glls Jul 31 '18 at 21:20
  • @glls Sorry for this poor ask. We have our own JS framework which could be only hosted inside a VF page. I'm not aware of any method which could access lightning component from an iFrame. – Dummy Jul 31 '18 at 22:18

In short, yes this is possible. There are some resources you could check for both, your VF page and Lightning component(s) to communicate in between themselves:

you will have to leverage the Window.postMessage() API for securely communicating between your components.

In the long run, you might want to consider updating your JS Framework to one supported in lightning + Locker service.

| improve this answer | |
  • it's so nice that get feedbacks from you. Actually, I did go through the documentation you mentioned. However, the issues is still there. Let's say, what I'm wondering is how could I access the Salesforce lightning component using developer console. e.g. var a = $A.getFirstComponent; a.set ; a.get. – Dummy Jul 31 '18 at 23:13
  • i dont recommend following up in the comments and changing the questions everytme there is an update. You will have to follow up in a new Post and update with what you have tried, where you are stuck, what doesnt seem to work, etc etc...if you did follow some doc, make sure you mentioon it in your post and if possible in clude links towards them. – glls Jul 31 '18 at 23:19

Not the answer you're looking for? Browse other questions tagged or ask your own question.