根据此页面,我尽我所能将JavaScript转换为FBJS:http://wiki.developers.facebook.com/index.php/FBJS。将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>
感谢任何回应。
Ech。像这样的问题让我认真考虑现在脱离Facebook平台的祝福。 Godspeed老兄。 – 2010-04-18 19:07:27
@alex mcp - 该用户正在使用的FMBL被取消。 Facebook平台目前只是一个iFrame,其中oAuth2用于身份验证,Open Graph协议用于API。几乎没有那么糟糕。 :) – 2011-08-09 19:44:01
这个问题严重过时,FBJS是历史! – ChrisDelsart 2011-09-02 11:38:31