function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
SumitkSumitk 

Unable to invoke onData for publish subscribe methods of visualforce canvas sdk

    <apex:canvasApp developerName="klientsumit"  namespacePrefix="" canvasId="klientsumit"
         width="100%" scrolling="no"  onCanvasAppLoad="fixWidth()"
         />
    <script type="text/javascript"src="https://org62.my.salesforce.com/canvas/sdk/js/30.0/controller.js">
             
        function fixWidth(){
            window.addEventListener("message", function(event) {
                // Handle message
                console.log('inside event');
                console.log(event.data);
            }, false);
             
// Target a specific canvas app
Sfdc.canvas.controller.publish({name : 'mynamespace.myevent',
                                payload : {}, 
                                target : {canvas : 'klientsumit'}});
             
// Subscribe to a single event.
Sfdc.canvas.controller.subscribe({name : 'mynamespace.myevent', 
                                  onData : function (e) {
                                      console.log('inside subscribe ondata');
                                      console.log(e);
                                  }});
        
// Target a specific canvas app
Sfdc.canvas.controller.publish({name : 'mynamespace.myevent',
                                payload : {}, 
                                target : {canvas : 'klientsumit'}});
             
             if(document.referrer.indexOf(".lightning.force.com") > 0 ) {
                //document.querySelector('.sfdcBody').style.margin='0px';
                document.querySelector('.sfdcBody').style.padding='0px';
                document.querySelector('a[name="skiplink"]').style.display='none';
               }else{
                document.querySelector('.noSidebarCell').style.padding='0px';                
               }
        }
        function resizeApp(){
            try{
                var target = {canvas : "klientsumit"};
                if(document.referrer.indexOf(".lightning.force.com") > 0 ) {
                    var heightOfApp = (screen.height - 90 - 40 - 142)+"px";
                    Sfdc.canvas.parent.resize( {height : heightOfApp}, target);
                } else{
                    if(document.getElementById('AppBodyHeader') && document.getElementsByClassName('bPageFooter').length > 0){
                        var heightOfApp = (screen.height - document.getElementById('AppBodyHeader').offsetHeight - document.getElementsByClassName('bPageFooter')[0].offsetHeight - 142)+"px";
                        Sfdc.canvas.parent.resize( {height : heightOfApp}, target);
                    }
                }
            }catch(e){
                console.log(e);
                var target1 = {canvas : "krowapp__klientsumit"};
                if(document.referrer.indexOf(".lightning.force.com") > 0 ) {
                    var heightOfApp = (screen.height - 90 - 40 - 142)+"px";
                    Sfdc.canvas.parent.resize( {height : heightOfApp}, target1);
                } else{
                    if(document.getElementById('AppBodyHeader') && document.getElementsByClassName('bPageFooter').length > 0){
                        var heightOfApp = (screen.height - document.getElementById('AppBodyHeader').offsetHeight - document.getElementsByClassName('bPageFooter')[0].offsetHeight - 142)+"px";
                        Sfdc.canvas.parent.resize( {height : heightOfApp}, target1);
                    }
                }
            }
            
        }
        
    </script>