Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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转换为FBJS-选项卡仍不工作_Javascript_Facebook_Tabs_Fbml_Fbjs - Fatal编程技术网

已将JavaScript转换为FBJS-选项卡仍不工作

已将JavaScript转换为FBJS-选项卡仍不工作,javascript,facebook,tabs,fbml,fbjs,Javascript,Facebook,Tabs,Fbml,Fbjs,我尽力根据以下页面将JavaScript转换为FBJS: 但我的标签仍然不能正常工作。是否有人建议如何解决此问题,以便我可以单击选项卡并相应地显示和隐藏内容: <script type="text/javascript"><!-- var tabLinks = []; var contentDivs = []; function init() { var tabListItems = document.getElementById('tabs').getChildNod

我尽力根据以下页面将JavaScript转换为FBJS:

但我的标签仍然不能正常工作。是否有人建议如何解决此问题,以便我可以单击选项卡并相应地显示和隐藏内容:

<script type="text/javascript"><!--
var tabLinks = [];
var contentDivs = [];

function init() {

  var tabListItems = document.getElementById('tabs').getChildNodes();
  for ( var i = 0; i < tabListItems.length; i++ ) {
    if ( tabListItems[i].getNodeName("LI") ) {
      var tabLink = getFirstChildWithTagName( tabListItems[i], 'A' );
      var id = getHash( tabLink.getAttribute('href') );
      tabLinks[id] = tabLink;
      contentDivs[id] = document.getElementById( id );
    }
  }

  var i = 0;

  for ( var id in tabLinks ) {
    tabLinks[id].addEventListener(onclick,  showTab)
    tabLinks[id].addEventListener(onfocus,  function() { this.blur() };
    if ( i == 0 ) tabLinks[id].setClassName('selected');
    i++;)
  }

  var i = 0;

  for ( var id in contentDivs ) {
    if ( i != 0 ) contentDivs[id].setClassName('tabContent hide');
    i++;
  }
}

function showTab() {
  var selectedId = getHash( this.getAttribute('href') );

  for ( var id in contentDivs ) {
    if ( id == selectedId ) {
      tabLinks[id].setClassName('selected');
      contentDivs[id].setClassName('tabContent');
    } else {
      tabLinks[id].setClassName('');
      contentDivs[id].setClassName('tabContent hide');
    }
  }

  return false;
}

function getFirstChildWithTagName( element, tagName ) {
  for ( var i = 0; i < element.getChildNodes().length; i++ ) {
    if ( element.getChildNodes[i].getNodeName(tagName) ) return element.getChildNodes[i];
  }
}

function getHash( url ) {
  var hashPos = url.getLastIndexOf ( '#' );
  return url.getSubString( hashPos + 1 );
}

init();
--></script>

谢谢你的回复

设置一个使用。确保使用指向服务器上文件的iFrame设置应用程序。当涉及到Javascript时,使用iFrame将获得更多的自由,如果您也需要这样做的话,这是一种利用CMS的好方法。祝你好运

FBML选项卡(使用FBJS)现在不推荐使用,将来将被禁用。您应该使用IFRAME选项卡创建一个新的应用程序(现在是默认的)


IFRAME选项卡只是包含IFRAME的选项卡,您的代码将作为任何其他网页从指定的URL加载到此IFRAME中。您可以在其中使用任何Javascript框架(如jQuery),因此无需学习如何编写FBJS。

Ech。像这样的问题让我认真地计算我现在离开Facebook平台的祝福。祝你好运。@alex mcp-FMBL这个用户使用的是去润滑的。Facebook平台现在只是一个iFrame,oAuth2用于身份验证,OpenGraph协议用于API。没有那么糟糕。:)这个问题已经严重过时,FBJS已经成为历史!当然,这个问题已经过时了,因为它是两年前提出的