2011-02-10 67 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