asp.net – 异步加载Facebook Javascript SDK
发布时间:2020-12-16 09:49:45 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试异步加载all.js文件. 在我的ASCX文件中: div id="fb-root"/div 我有一个包含javascript文件的用户控件: window.fbAsyncInit = function () { FB.init({ appId: 'XXXXXXXXXXXXX',status: true,cookie: true,xfbml: true,oauth: true });};(functi
我正在尝试异步加载all.js文件.
在我的ASCX文件中: <div id="fb-root"></div> 我有一个包含javascript文件的用户控件: window.fbAsyncInit = function () { FB.init({ appId: 'XXXXXXXXXXXXX',status: true,cookie: true,xfbml: true,oauth: true }); }; (function () { var e = document.createElement('script'); e.type = 'text/javascript'; e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; e.async = true; document.getElementById('fb-root').appendChild(e); } ()); 但是,当页面呈现并加载时,FB不存在. 是什么赋予了? 解决方法
Sahil的回答是正确的.在呈现文档时,无法保证已加载任何异步脚本.
如果从fbAsyncInit回调中运行代码不是您想要的,您可以考虑两种替代方法: 选项1 加载SDK synchronousy: <script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script> 通过这样做,FB甚至在文档开始渲染之前就会存在. 选项2 检查SDK是否已经加载,并在没有时提供回退解决方案. if (window.FB) { // use FB here .. } else { // still loading,tell user to wait one more second } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net – Ninject程序集与引用的程序集不匹配
- asp.net – 可以在Visual Studio 2010中将任务列
- 如何在asp.net页面上的<%...%>标签内使用c#代码
- 我们可以在ASP.Net WEB API中使用存储库模式和工
- asp.net-mvc – 如何从PropertyInfo或MetaData中
- asp.net-mvc – 在“控制器操作”中访问操作过滤
- 详解ASP.NET Core 中的框架级依赖注入
- asp.net – ASP核心:如何设置httpContext.User?
- asp.net-mvc – 如何使用app_start或webactivato
- Asp.Net的FileUpload类实现上传文件实例
热点阅读