有什么方法可以在单击按钮时调用 IIFE 函数吗?

Is there any way to call IIFE function on button click?

在 CRM 的脚本标签中有一个生成的 IIFE 函数,我需要在单击按钮时调用这个函数,有什么办法可以做到这一点吗?

<script data-b24-form="click/18/3h30a2" data-skip-moving="true">
(function(w,d,u){
                var s=d.createElement('script');s.async=true;s.src=u+'?'+(Date.now()/180000|0);
                var h=d.getElementsByTagName('script')[0];h.parentNode.insertBefore(s,h);
        })(window,document,'https://');        
</script>

不,如果该代码是自动生成的并且您无法更改它,则不能。

该函数永远不会保存在任何地方,它只是 运行 一次然后被丢弃。由于它从未保存在任何地方,因此您无法调用它。

如果您可以更改代码,那么您当然可以保存该函数并在您的点击处理程序中使用它:

<script data-b24-form="click/18/3h30a2" data-skip-moving="true">
// Create the function without calling it, store it in `theFunction`
var theFunction = function(w,d,u){
                var s=d.createElement('script');s.async=true;s.src=u+'?'+(Date.now()/180000|0);
                var h=d.getElementsByTagName('script')[0];h.parentNode.insertBefore(s,h);
        }.bind(window, window,document,'https://');
theFunction(); // The initial call
// In your click handler, call `theFunction`.
</script>