我正在使用一些Facebook代码在我的页面上显示一个类似的按钮。我在_SiteLayout.cshtml页面中有它。起初它只是花花公子;我在这个网站上有相同的代码:www.bigsurgarrapata.com
但现在我正在使用LinkShare Webhelper显示一堆不同的社交网络图标,并且不需要我当前网站的独立Facebook代码。此外,由于某种原因它无论如何都停止了工作。但是,如果我删除它,我的页面结构引用_SiteLayout.cshtml全部到达达拉斯(或克利夫兰,YMMV)。这是在上下文中(头部和身体之间):
</head>
<div id="fb-root"></div>
<script>(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#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<body>
为什么删除这会改变我的网页内容?
答案 0 :(得分:1)
// connect.facebook.net/en_US/all.js#xfbml=1 - 这是你的JS中的链接。
它确实显示了javascript,所以它似乎从那里开始运行。
答案 1 :(得分:1)
在bigsurgarrapata页面上,您可以在打开身体标签之后使用它,这是facebook建议的:
“在您的网页上包含一次JavaScript SDK,理想情况下就在 打开标签。“
-via http://developers.facebook.com/docs/reference/plugins/like/
在这里,您将它放在</head>
和<body>
之间。也许尝试将其移入<body>
元素?
答案 2 :(得分:1)
如果是在头部和身体之间,那么它位于无效位置。它操纵文档的结构(fjs.parentNode.insertBefore),由于其位置可能以无效的方式。其效果可能因浏览器不同而有所不同。浏览器可能会尝试使用不同的规则来处理内容,以补偿损坏的代码或触发类似怪癖模式的内容。如果有一些东西补偿了使它看起来正确的无效代码,那么当你删除无效代码时,任何使它看起来正确的东西现在可能会让它看起来不对。