Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何引用脚本加载后将声明的函数_Javascript_Dom Events_Gigya - Fatal编程技术网

Javascript 如何引用脚本加载后将声明的函数

Javascript 如何引用脚本加载后将声明的函数,javascript,dom-events,gigya,Javascript,Dom Events,Gigya,在Sitecore环境中,我无法对末尾实例化的js脚本重新排序,我需要检查这些脚本中的函数(Gigya)是否返回了真实值(我需要检查用户是否登录) 我的脚本只能在加载这些脚本之前加载,因此我的脚本会在调用该函数之前检查给定函数是否具有真实的返回值 考虑到结构的情况,我总是得到一个未知函数的错误 有没有办法绕过这个?我的意思是,我试图在加载过程结束时在主体上附加一个包含检查功能的特别脚本,但没有成功 有什么提示吗?可能会添加侦听器?方法1 由于您需要等待的函数加载了标记,因此您可以将整个代码包装在

在Sitecore环境中,我无法对
末尾实例化的js脚本重新排序,我需要检查这些脚本中的函数(Gigya)是否返回了真实值(我需要检查用户是否登录)

我的脚本只能在加载这些脚本之前加载,因此我的脚本会在调用该函数之前检查给定函数是否具有真实的返回值

考虑到结构的情况,我总是得到一个未知函数的错误

有没有办法绕过这个?我的意思是,我试图在加载过程结束时在主体上附加一个包含检查功能的特别脚本,但没有成功


有什么提示吗?可能会添加侦听器?

方法1

由于您需要等待的函数加载了
标记,因此您可以将整个代码包装在一个函数中,并使用onload调用该函数

方法2

您可以创建一个新的合成事件,而不是调用
函数来执行
,比如说“gigyLoaded”,并在调用函数之前收听它

[]


事件应该像上面那样通过脚本onload发出。

函数是一个承诺吗?@DhananjaiPai我的函数还是我需要检查的函数?在第一种情况下,不,不是。在第二种情况下,代码是编译的,所以我无法正确地阅读它。您如何将Gigya代码添加到页面中?是用标签吗?@DhananjaiPai是的,它被添加在身体的末端。谢谢。过一会儿我将尝试一下。看起来我无法将onload=“anyFunction()”添加到脚本声明中,因为所有脚本都是由Sitecore的自动化加载的,该自动化将脚本作为资源附加。他们告诉我无法在脚本声明中添加onload=“”。根据方法2,我试图找出你的方法,但我真的需要更多的提示。你能帮助我吗?我调用的函数是:gigya.socialize.getUserInfo({callback:renderUI});gigya.socialize.addEventHandlers({onConnectionAdded:renderUI,onConnectionRemoved:renderUI});逻辑应该是什么?