所以,div 和对 fb js 的调用:Fb 说把它放在 (body) 标记之后。任何使用它的 wp 插件都会将其放在页脚中(wp_footer(),因为没有 wp_just_after_body())。我曾经遇到过这样一种情况,我需要的 fb 功能只有在这些东西位于 body 标签之后时才能工作。我对 js 的了解还不够,无法知道有什么区别,以及 body 或 footer 是否是最好的地方。
javascript - 哪里是最好的地方
所以,div 和对 fb js 的调用:Fb 说把它放在 (body) 标记之后。任何使用它的 wp 插件都会将其放在页脚中(wp_footer(),因为没有 wp_just_after_body())。我曾经遇到过这样一种情况,我需要的 fb 功能只有在这些东西位于 body 标签之后时才能工作。我对 js 的了解还不够,无法知道有什么区别,以及 body 或
问问题
11793 次
尝试
print_r(unserialize($_SESSION['__vm']['vmcart']));
4
2 回答
3
就在您要加载的每个页面上的开始正文标记之后。
更多来自 facebook SDK 文档:
不得使用 display: none 或 visibility: hidden 隐藏 fb-root 元素,否则 SDK 的某些部分将无法在 Internet Explorer 中正常工作。
SDK 将元素插入到 fb-root 中,这些元素期望相对于 body 或相对于靠近页面顶部的元素定位。最好 fb-root 元素不在具有 position: absolute 或 position: relative 的元素内。如果您必须将 fb-root 元素放置在定位元素内,那么您还应该将其放置在靠近主体顶部的位置,否则 SDK 的某些部分可能无法正常工作。
于 2014-07-01T07:08:11.637 回答
0
如果您需要在文档页脚附近使用 js sdk,最好使用 async 并且仅在 sdk 加载和初始化后才进行 api 调用。
我用。示例:
假设我已将所有 api 调用包装在函数中。
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '135669679827333',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
channelUrl : 'https://anotherfeed.com/emo/channel.html', // channel.html file
oauth : true // enable OAuth 2.0
});
// facebook has been loaded and init, you can call your api functions from here.
if (window!=window.top) {
FB.Canvas.EarlyFlush.addResource("https://anotherfeed.com/");
setTimeout("FB.Canvas.setAutoGrow(250);", 2000);
toggle('connections'); // my api call
FB.XFBML.parse(loginb); // my api call
}else {
}
// !facebook load and init.
};
// Load the SDK Asynchronously
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
</body>
</html>
于 2012-07-10T16:45:14.677 回答
所以,div 和对 fb js 的调用:Fb 说把它放在 (body) 标记之后。任何使用它的 wp 插件都会将其放在页脚中(wp_footer(),因为没有 wp_just_after_body())。我曾经遇到过这样一种情况,我需要的 fb 功能只有在这些东西位于 body 标签之后时才能工作。我对 js 的了解还不够,无法知道有什么区别,以及 body 或
尝试
print_r(unserialize($_SESSION['__vm']['vmcart']));
2 回答
就在您要加载的每个页面上的开始正文标记之后。
更多来自 facebook SDK 文档:
不得使用 display: none 或 visibility: hidden 隐藏 fb-root 元素,否则 SDK 的某些部分将无法在 Internet Explorer 中正常工作。
SDK 将元素插入到 fb-root 中,这些元素期望相对于 body 或相对于靠近页面顶部的元素定位。最好 fb-root 元素不在具有 position: absolute 或 position: relative 的元素内。如果您必须将 fb-root 元素放置在定位元素内,那么您还应该将其放置在靠近主体顶部的位置,否则 SDK 的某些部分可能无法正常工作。
如果您需要在文档页脚附近使用 js sdk,最好使用 async 并且仅在 sdk 加载和初始化后才进行 api 调用。
我用。示例: 假设我已将所有 api 调用包装在函数中。
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '135669679827333',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
channelUrl : 'https://anotherfeed.com/emo/channel.html', // channel.html file
oauth : true // enable OAuth 2.0
});
// facebook has been loaded and init, you can call your api functions from here.
if (window!=window.top) {
FB.Canvas.EarlyFlush.addResource("https://anotherfeed.com/");
setTimeout("FB.Canvas.setAutoGrow(250);", 2000);
toggle('connections'); // my api call
FB.XFBML.parse(loginb); // my api call
}else {
}
// !facebook load and init.
};
// Load the SDK Asynchronously
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
</body>
</html>