2011-02-10 55 views
0

我一直在尝试使用JavaScript在Facebook上的canvas应用上修改DIV,但它不起作用,也不会引发错误。我一直在尝试使用innerHTML和FB的setInnerHTML,无济于事。Facebook应用在canvas上:使用JS更改内容

有没有人遇到过这种情况或知道该怎么办?这里是没有做的事情的代码:

var div = document.createElement("div"); 
div.setId("someNewId"); 
div.setInnerFBML("<p>dynamically added stuff</p>"); 
document.getElementById("someDivId").appendChild(div); 

var div = document.createElement("div"); 
div.id = "someNewId"; 
div.innerFBML = "<p>dynamically added stuff</p>"; 
document.getElementById("someDivId").appendChild(div); 

任何帮助表示赞赏!谢谢!

+0

我对Facebook的语法知之甚少,但可能是一个错字:在你的问题中,你使用`innerHTML`和`setInnerHTML`,但是在你的代码中你有`innerFBML`和`setInnerFBML`。这可能是问题吗? – sdleihssirhc 2011-02-10 22:33:55

+0

这个错字实际上在我的例子中,我很快就复制了,能够问我的问题。谢谢你指出,它可能是这样的。 – jansensan 2011-02-11 14:17:55

回答

0

事实上,Facebook已经宣布,他们废除了FBML(http://developers.facebook.com/roadmap)。

由于你正在构建一个新的应用程序,你会选择IFrame而不是FBML - 如果你使用的是IFrame,所有的JavaScript将运行得很好,而且你不必乱搞任何FBJS东东。您可以编写任何通常在浏览器中工作的JavaScript,甚至可以使用mootools,jQuery或任何其他JavaScript库。

0

你把这段代码放在哪里? FBJS不允许在用户进行交互之前执行JavaScript。尝试在onclick上运行该功能。

此外,如果你正在使用萤火虫,作品的console.log

+0

我实际上是在onclick函数上调用它。 – jansensan 2011-02-11 14:18:20