0

Facebook 앱에서 Flash 앱을 설정하고 ExternalInterface를 사용하여 JavaScript 함수를 호출 한 다음 첫 번째 함수가 완료되면 JavaScript에서 Flash 함수를 호출합니다.Facebook 앱 오류가 한 사용자에게 표시되지만 다른 사용자에게는 표시되지 않습니다.

this.dBug.text += "\ngetting user albums...\n" 
var usrAlbums:Array = new Array(); 
var pageLimit:Number = 48; 
var pageOffset:Number = 0; 
this.dBug.text += "\ttotal albums before call: " + usrAlbums.length + "\n"; 

콜백 기능 : 자바

this.dBug.text += "\tadding getAlbumResponse callback to ExternalInterface\n"; 
ExternalInterface.addCallback('getAlbumResponse', getAlbumResponse); 
this.dBug.text += "\tcreating getAlbumResponse callback\n"; 
function getAlbumResponse(rtrn):void{ 
    dBug.text += "\nresponding to album get...\n"; 
    this.dBug.text += "\t\t\tresult: " + rtrn['data'] + "\n"; 
    var album:Array = rtrn['data']; 
    this.dBug.text += "\t\tadding objects to usrAlbums array...\n"; 
    for(prop in rtrn['data']){ 
     usrAlbums.push(new Array(album[prop], new Array())); 
     this.dBug.text += "\t\t\tadded " + album[prop] + ", new Array() to usrAlbums array\n"; 
     ++pageOffset; 
     this.dBug.text += "\t\t\t\talbumCount: " + pageOffset + "\n"; 
    } 
    this.dBug.text += "\tcheck for more albums\n"; 
    if(pageOffset == pageLimit){ 
     getAlbum(++pageOffset, pageLimit); 
    }else{ 
     this.dBug.text += "\t\ttotal albums after call: " + usrAlbums.length + "\n"; 
    } 
} 

ExternalInterface를 호출 기능

플래시 & 바르 객체 스크립트 :

function getAlbum(offset:Number, limit:Number){ 
    this.dBug.text += "\t\tcalling swfGetAlbum(/me/albums?offset=" + offset + "&limit=" + limit + ")...\n"; 
    ExternalInterface.call('swfGetAlbum', '/me/albums?offset=' + offset + '&limit=' + limit); 
} 

를 호출 EI 기능 : 호스팅 페이지

getAlbum(pageOffset, pageLimit); 

자바 스크립트 :

function swfGetAlbum(graph){ 
    console.log('swfGetAlbum(' + graph + ')'); 
    FB.api(graph, function(response){ console.log(response); swfGetAlbumCallback(response); }); 
} 
var swfGetAlbumCallback = function(response){ 
     console.log(response); 
    console.log(document.getElementById('app-root')); 
      document.getElementById('app-root').getAlbumResponse(response); 
} 

모두가 크롬, 사파리, 오페라와 내 페이스 북 계정으로 내 Mac에서 잘 작동 Firefox. 테스트 용 PC의 동일한 브라우저와 Internet Explorer에서도 작동합니다. 자바 스크립트 코드는 콜백을 시작하고 document.getElementById를 ('응용 프로그램 루트')를 실행하려고 할 때 내 친구가 자신의 페이스 북 계정을 사용하여 응용 프로그램을 테스트 몇 가지 이유를 들어

, 그는 오류를 가져옵니다 getAlbumResponse (응답).;. 그는 동일한 브라우저를 사용하여 자신의 PC에서 테스트를하고 있으며 모두 동일한 결과를 산출합니다. Chrome에서 오류는 으로 표시됩니다. 오류 : NPObject에서 메소드를 호출하는 중에 오류가 발생했습니다.

더 재미있는 것들을 만들기 위해서; 이 오류는 Facebook 계정을 사용하여 내 컴퓨터에서 앱을 테스트 할 때 나타나고 내 Facebook 계정을 사용하여 그 컴퓨터에서 앱을 테스트 할 때 발생하지 않습니다.

나는 또한 다른 두 개의 Facebook 계정으로 앱을 테스트 할 수있었습니다. 그 중 하나는 Mac에서 Safari를 사용하고 다른 하나는 Chrome을 사용하는 내 친구의 아내의 PC에서 사용합니다. 이 두 가지 테스트 중 어느 것도 오류가 없습니다.

이 응용 프로그램에 대한 플래시의 대상 버전은 적어도 V11 (모든 테스트 기계/브라우저가 최신 플래시 플레이어를 가지고) 및 swfobject 2.

나는 완전히이 동작에 의해 당황하고를 사용하여 페이지에 삽입됩니다. 누구든지 이런 걸 보게 될까요?

미리 감사드립니다.

페이스 북의 https로 준수하기 위해 우리는 심지어이 시도 어둠 속에서

답변

0

전체 샷 ..., 우리는 보안 서버에있어. Google은 친구의 설정에서 https 브라우징 설정이 선택되지 않았 음을 확인했습니다. 다시 한번 확인되면 모든 것이 잘 작동합니다.

관련 문제