Facebook登录按钮onligin=“;函数“;给出ReferenceError
Facebook login button onlogin="function" gives ReferenceError
到目前为止,我已经在我的页面上实现了一个facebook登录按钮。登录运行良好,但我想在登录成功后调用login.js代码中的一个函数。
我正在使用这个链接中的onligin,它将触发我的userLogin()函数。
我的问题是,当我登录到应用程序时,我会得到这个ReferenceError:
[ReferenceError:userLogin未定义---sdk.js:1:1]
我不知道我为什么会犯这个错误。
我所有的javascript代码都放在一个.js文件中,并包含在的顶部。
相关代码:
userLogin(),它位于$(document).ready(function(){…})中;
// This function is called when someone finishes with the Login Button.
function userLogin () {
console.log("it worked");
FB.getLoginStatus(function(response) {
statusChangeCallback(response);
});
}
HTML代码,将触发功能的按钮:
<body>
<div id="fb-root"></div>
<script src="login.js" type="text/javascript"></script>
<div class="loginButton">
<fb:login-button scope="public_profile,email" onlogin="userLogin();">
</fb:login-button>
</div>
您的函数是在$(document).ready()
的范围内定义的,而不是在外部定义的。
要使其在全球范围内可用,您可以在login.js
:中执行此操作
var userLogin;
$(document).ready(function(){
userLogin = function(){ /* ... */ };
});
注意:
userLogin
是一个可能会干扰另一个库的名称,如果该库是全局定义的,则该库可能会使用相同的名称。为了避免这种问题,我建议您给它一个更"自定义"的名称,比如myUserLogin
。
函数必须在窗口上定义。解决方案是:
// somewhere before the button is rendered
window.loginCallback = res => {
// handle response logic
}
<div
className="fb-login-button"
data-max-rows="1"
data-size="large"
data-button-type="continue_with"
data-onlogin="loginCallback();"
></div>
相关文章:
- toFixed javascript函数给出奇怪的结果
- 函数给出错误转换未定义映射
- 替换匹配函数给出了未定义的错误,但它与替换一起工作
- 工厂函数给出“;错误:未定义
- ES6 大箭头符号函数给出语法错误:缺失;在语句之前
- phantomjs 中的自定义函数给出了 ReferenceError
- 回调函数给出一个错误 - AngularJS
- 在jquery中向dataTable添加行的函数给出了TypeError
- 匿名函数给出“;undefined不是函数“;在回调中
- React Native呈现函数给出错误:意外的令牌
- javascript中的调用函数给出错误
- Val()函数给出控制台错误
- 返回多个值从javascript函数给出错误在谷歌地图V3
- JavaScript控制台函数给出不同的输出
- Jquery-ui .dialog()函数给出最大调用堆栈大小超出错误
- 承诺函数给出'SyntaxError: Unexpected token}'
- CloudCode在系列中承诺,帮助函数给出错误'对象没有方法'应用'
- Javascript API Share函数给出错误
- JavaScript函数给出错误提示
- $watch函数给出了undefined