2011-04-08 4 views
1

도메인 A에서 호스팅되는 플렉스 앱이 있고 도메인 B에서 웹 페이지를 통해 제공됩니다. 크로스 도메인 스크립팅을 사용하도록 설정했습니다. 도메인 B의 웹 페이지에, 나는 선을"NPObject에서 메서드를 호출하는 중 오류가 발생했습니다!" 플렉스 딥 링크 용

params.allowscriptaccess = "always"; 

이 있고 응용 프로그램 코드에서 나는 호출이 제대로 작동

flash.system.Security.allowDomain("*"); 

과 좋은 법안을 위해,

flash.system.Security.allowDomain("keonehon.com"); // domain A 

ExternalInterface있다; 시작시 앱이 자바 스크립트 함수를 호출하고 웹 페이지가 매개 변수를 전달하기 위해 함수를 다시 호출합니다.

if (ExternalInterface.available){ 
       ExternalInterface.call("SWFLoadComplete"); 
       //lblMessage.text = "Data Sent!"; 
      } 

function SWFLoadComplete(){ 
      callNewCarWithUser(); 
     } 

     function callNewCarWithUser() 
     { 
      var user_id = document.getElementById('txtUserId').value; 
      var room_id = document.getElementById('txtRoomId').value; 
      getTheFlexApp().newCarWithUser(user_id, room_id); 
     } 

그리고 올바르게 작동합니다. 그래, 그래. 잘 작동하고있는 것 같은데?

그러나이 딥 링크가 작동하지 않는, 라인 (435) history.js의에 던져 질 자바 스크립트 오류가 발생합니다 (하나에 뭔가를 입력하여, 또는 뒤로 뒤로 버튼을 사용하여 이동하여) URL에 #state=____ 플렉스 매개 변수를 설정하는 등, 내가 줄 flash.system.Security.allowDomain("*");에 넣어에도 불구하고, 도메인 간 보안 문제의 어떤 종류가 같은 일명

getPlayer().browserURLChange(flexAppUrl); 

보인다. 두 페이지를 동일한 html 및 swf 파일로 비교하여 하나의 경우 도메인 간 도메인과 다른 도메인에서 동일한 도메인을 비교하여 동일한 도메인 대 교차 도메인을 비교할 때 다른 행동이 있음을 알 수 있습니다.

도메인 : http://keonehon.com/gongos/dreamcar.html. 동일한 도메인 : http://rails.mit.edu/gongos/dreamcar.html

도대체 무슨 일이 벌어지고 있습니까?

답변

0

allowScriptAccess을 사용해 보셨습니까? (정확하게 기억해두면 대소 문자를 구분할 수 있습니다)

그래도 작동하지 않으면 더 많은 코드 또는 샘플 페이지를 볼 수 있습니다.

1

이것이 관련이 있는지는 잘 모르겠지만이 오류는 항상 ExtJS로 가져오고 문제는 실제로 간단한 구문 오류 (괄호가 빠져 있음)로 끝납니다.

관련 문제