Scriptaculous dom:仅加载工作"有时“;
Scriptaculous dom:loaded working only "sometimes"?
所以,基本上,我正在为我的网站开发Facebook登录流。这是相当基本的,但给我带来了一些问题。问题似乎是点击观察者只是在一段时间内工作。硬刷新通常会解决问题。以下是我用来进入它的JS代码…
function fb_login(login_destination)
{
FB.login(function(response) {
if (response.authResponse) {
var fb_auth_token = response.authResponse.accessToken;
var fb_user_id = response.authResponse.userID;
var url = '/login/ajax/fb_login.php?fb_auth_token=' + fb_auth_token + '&fb_user_id=' + fb_user_id + '&fb_login=' + login_destination;
window.location = url;
}
}, {scope: 'email,user_about_me'});
}
document.observe("dom:loaded", load_fb);
function load_fb()
{
window.fbAsyncInit = function(){
FB.init({
appId : 'ID'
status : true,
cookie : true,
xfbml : true,
oauth : true
});
};
$('fb_connect').observe('click',function(event){
var login_destination = $('fb_connect').getAttribute('dest');
fb_login(login_destination);
});
}
唯一的症状似乎是它根本不会对某些页面加载的点击做出响应。我使用的ID直接绑定到图像本身。我很好奇是否有人遇到过这种情况,知道如何解决。谢谢。
我以前遇到过这种情况。我最终使用计时器启动初始化脚本作为备份。该函数设置一个变量,如果它已经运行,则退出。丑陋,但有效。
所以,我最终解决了这个问题。代码实际上被更改为。。。。
function load_fb()
{
var d = document;
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
基本上,我现在只是在等待FB JS SDK,直到页面加载之后(请参考前面的代码)。它与脚本无关。
相关文章:
- 有时数据是't显示在浏览器中
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 使用“+="操作人员
- 气质的“nestRemoting()”有时可以'找不到关系
- jquery创建的数据-*有时无法解析
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- 将带点符号的属性(有时)传递给函数
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- "工具提示"jQuery插件坏了
- Scriptaculous dom:仅加载工作"有时“;