2009-11-26 2 views
0

안녕하세요. fbjs를 사용하여 div를 동적으로 생성하고 appendChild를 사용하여 기존 div에 추가하는 데 문제가 있습니다.fbjs setInnerFBML이 Safari에서 작동하지 않습니다.

를 heres 예 :

var count = 0; 
function addDiv(){ 
    var theDiv = document.createElement('div'); 
    theDiv.setId(count); 
    theDiv.setInnerFBML('some html here'); 

    count++; 
    document.getElementById('someExistingDiv').appendChild(theDiv); 
} 

이 사람이 무슨 잘못 말해 나에 appendChild inSafari 어떤 문제가있는 경우 setInnerFBML를 사용하는 경우하시기 바랍니다 할 수 있습니다. 이것은 setTextValue를 사용할 때 완벽하게 작동합니다.

PS 그것은 파이어 폭스는 아니지만 사파리에서 (사파리 4.0.3 구체적으로)

감사

작동

UPDATE :

가이 추가 된 최초의 사업부에 근무하고

답변

0
후 실패

이것은 아직 해결되지 않은 버그로 밝혀졌습니다. 지금은 해결 방법을 만들었고 나중에 참조 할 수 있도록 여기에 게시합니다.

setInnerFBML이 첫 번째 추가 작업을 수행 한 후 (이유가 없음) 실패 했으므로 첨부 된 첫 번째 div를 복제하여 향후 추가 할 때 사용하기로 결정했습니다. 내 코드를 heres.

var count = 0; 
function addDiv(){ 
    if(count == 0){ 
     var theDiv = document.createElement('div'); 
     theDiv.setInnerFBML('some html here'); 
    }else{ 
     var theDiv = document.getElementById('0').cloneNode(true); 
    } 

    theDiv.setId(count); 
    count++; 

    document.getElementById('someExistingDiv').appendChild(theDiv); 
} 

희망이 있으면 도움이 될 것입니다.

1

setInnerFBML은 미리 렌더링 된 FBML 만 사용하므로 FBML 아약스 요청에서 가져온 것이거나 fb : js-string 태그에서 미리 렌더링되어야합니다. 즉석에서 생성 할 수는 없습니다.