2010-08-10 3 views
1

내에서 자바 스크립트에서 플래시 (SWF) 메소드를 호출 할 수 없습니다 :내가 가진 QWebView

  • 하여 SWF 파일을 A) ExternalInterface.addCallback를 통해 외부 세계에 사용할 수의 방법 중 하나 만드는; b) ExternalInterface.call을 통해 미리 정의 된 외부 세계 메소드를 호출합니다.
  • 이 Swf 파일이있는 html 페이지. 이 html에는 두 가지 javascipt 메소드가 있습니다. 하나는 Swf-published-method를 호출하는 메소드이고 다른 하나는 swf가 호출하는 메소드입니다.
  • Qt-app은이 html 페이지를 QWebView-> QWebPage를 통해로드합니다.

FireFox에서이 HTML 페이지를로드 할 때 모든 것이 정상적으로 작동합니다. Swf는 자바 스크립트에서 호출 할 수 있으며 그 반대의 경우도 마찬가지입니다. 그러나 Qt-app 내에서 swf 만 javascript 메서드를 호출 할 수 있지만 그 반대는 마찬가지입니다. swf 메소드를 호출하면 자바 스크립트 콘솔에 다음 메시지가 인쇄되면서 실패합니다 : "NPObject에서 메소드를 호출하는 중 오류가 발생했습니다".

Qt-app를 FireFox처럼 동작시키는 방법, 즉 자바 스크립트에서 Swf를 호출 할 수있게하려면 어떻게해야할까요? 어떤 도움,

배경을 이해할 수있을 것이다 :

  • Qt는 4.6.2;
  • 쿠분투 10.04;
  • Swf는 Flex 4로 제작되었습니다.
  • SWF는 로컬 신뢰할 수 있습니다.

답변

1

혼자서도 문제가 해결되지 않았습니다.

QFile html(<theHtmlPageFileName>); 

html.open(QIODevice::ReadOnly); 

m_page->mainFrame()->setContent(html.readAll()); 

재 작성된 변형 :

로드하는 HTML 페이지의 원래 코드는 다음과 같았다

m_page->mainFrame()->load(<theHtmlPageFileName>); 

후자의 변형 모두에서 잘 작동합니다.

Btw : Windows에서 첫 번째 변형도 작동합니다.

+0

정답으로 표시 하시겠습니까? – cod3monk3y