Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript FB共享插件,除非页面被重新加载,否则不会显示_Javascript_Angularjs_Facebook - Fatal编程技术网

Javascript FB共享插件,除非页面被重新加载,否则不会显示

Javascript FB共享插件,除非页面被重新加载,否则不会显示,javascript,angularjs,facebook,Javascript,Angularjs,Facebook,我正在尝试使用facebook共享插件。如果我重新加载页面,它可以正常工作,但是如果我不重新加载就进入页面,那么“共享按钮”就不会出现。我曾尝试将facebook sdk代码移动到我的模板和头部,但两种方法都没有奏效。有什么想法吗 这是fb代码,我在开始标签的正下方 <div id="fb-root"></div> <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(

我正在尝试使用facebook共享插件。如果我重新加载页面,它可以正常工作,但是如果我不重新加载就进入页面,那么“共享按钮”就不会出现。我曾尝试将facebook sdk代码移动到我的模板和头部,但两种方法都没有奏效。有什么想法吗

这是fb代码,我在开始标签的正下方

  <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/sdk.js#xfbml=1&version=v2.5&appId=xxxxxxxxxxxxxxxx";
  fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));
  </script>

(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id))返回;
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5&appId=xxxxxxxxxxxxxx”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
我在html模板中实现的位置 fbUrl在我的控制器中定义

    <div class="fb-share-button" data-href="{{fbUrl}}" data-layout="button" id='fb-share'></div>

问题在于函数会立即运行。这是一个很好的例子。如果你把它放在头上,它会在文档的其他部分之前运行。当所有html元素都已加载时,唯一(可能)安全的放置位置是在文档末尾,body标记之前


如果您注意到,其中一个调用是调用
getElementById
,但是如果您将其放入头部,则不会加载任何元素,而如果您将ID元素放在其他任何位置,则可能不会加载该元素。

数据布局有什么问题?此外,你似乎正在加载Facebook JavaScript SDK两次,他们都是打字错误,我的坏朋友尝试重新解析页面中的FB标记~它不在
中(除非
也在其中)@Phil他说他尝试移动头部。如果他在那里面也占了上风,那就是另一整罐虫子了。尽管如此,如果他有任何接近顶部的地方,问题可能会出现。我只是尝试在我的标签结束之前和结束之后添加fb代码,同样的问题一直存在。如果我重新加载它,它会工作,但如果我只是导航到该页面,它不会工作。你认为有必要发出指令吗?或者有办法解决这个问题吗?@Billy不是在寻找标签。在它之前。如果您需要重新加载,那么在不同的时间会发生其他事情并被加载,在这里无法帮助您。