We will use the following code snippets to demonstrate this use case.
The Visualforce code is as follows. Observe the highlighted code where we post the message to the parent domain (in this case, the Lightning domain). We have obtained the domain dynamically using the Apex controller code that is linked to the Visualforce page. Let's name the Visualforce page testVF:
<apex:page controller="vfController"> <apex:slds/> <input id="message" type="text"/> <button onclick="sendToLC()">Send to LC</button> <script> var lexOrigin = "https://{!JSENCODE(SalesforceDomain)}. Lightning.force.com"; console.log(lexOrigin); function sendToLC() { var message = document.getElementById("message").value; ...