Creé un widget que recupera los detalles del usuario actual de la persona actual que inició sesión en ZOHO CRM.
Tengo un botón que toma el correo electrónico del usuario actual y filtra una base de datos basada en el correo electrónico recuperado.
Actualmente tengo esto funcionando haciendo clic en un botón, sin embargo, estoy tratando de activar esta función cuando se carga la página.
<div style="text-align:center"> <div style = "width:100%;margin:auto;"> <button type="button" style="margin:20px;cursor: pointer;background-color: blue;color:white;padding-top:4px;padding-bottom:4px;width:200;" id="wOpen"><i class="fa fa-check"></i>Refresh My Tasks</button> </div> </div> <script> var currentUserEmail; $(document).ready(function() { ZOHO.embeddedApp.on("PageLoad", function(onloadData) { data1 = onloadData; }); $("#wOpen").click(function() { ZOHO.CRM.CONFIG.getCurrentUser().then(function(data){ console.log(data.users[0].email); currentUserEmail = data.users[0].email; document.getElementById('iframe1').src = 'https://creatorapp.zohopublic.com.au/ozeitaus/tasks/report-embed/Copy_of_Tasks_Report/J7qC6AS7Jzk8sNJabbTV6jrrWzz4GhSTJHQWkspmm2Sjm7zWNECD2qUWwOdOaDkqGZO5GOT87bufbUqMDRCpQhyD0y0JazH1P4fv?Status=Completed&Status_op=19&MainTaskOwnerEmail='+ currentUserEmail; }) }); ZOHO.embeddedApp.init(); }); </script> <iframe id="iframe1" height='500px' width='100%' frameborder='0' allowTransparency='true' scrolling='auto' src=''></iframe> </body> </html>En lugar de obtener los detalles del usuario por separado después del evento PageLoad, obténgalo dentro de esa función.
Código de muestra (no probado)
ZOHO.embeddedApp.on("PageLoad", function(data) { //..... ZOHO.CRM.CONFIG.getCurrentUser() .then(function(userdata){ console.log(userdata.users[0].email); currentUserEmail = userdata.users[0].email; }) .catch((error) => { console.error(error); }); ///...... }); ZOHO.embeddedApp.init();Mueva el contenido de la función de clic a la devolución de llamada en PageLoad