2012-02-10 2 views
1

내가 브라우저 플러그인을 작성하는 firebreath 프레임 워크를 사용하고있는 어떤 toString() 함수. 나는 자바 스크립트와 플러그인을 사용할 때 나는 이상한 오류 : 나는 JSAPIPtr을 반환 내 Dropbox_pluginAPI 클래스에 여러 번에게 메소드를 호출하려고 whenyFirebreath 자바 스크립트 오류 : 지원되지 않는 : 입력 기능

unsupported: no toString() function in type function 

나는이 오류가 발생합니다.

//JavaScript context 
for(var i=0; i<100; i++) 
{ 
//After several times of calling the method I get the error: unsupported: no toString() function in type function 
var md = plugin().getMetaDataOfFileOrFolder("dropbox/demotext","null",true,false,"null"); 
} 


//API class 

FB::JSAPIPtr Dropbox_pluginAPI::getMetaDataOfFileOrFolder(std::string fileOrFolderPath,std::string hash, bool list, bool include_deleted, 
std::string rev) 
{ 
MetaData m = client->getMetaDataOfFileOrFolder(fileOrFolderPath,hash,list,include_deleted,rev); 

return boost::make_shared<MetaDataAPI>(m_host,m); 

} 


//MetaDataAPI class 
class MetaDataAPI : public FB::JSAPIAuto 
{ 
public: 

/** 
* Constructor. 
* @param host The browser 
* @param m The MetaData object 
*/ 
MetaDataAPI(const FB::BrowserHostPtr& host,MetaData m); 

..... 
..... 

} 

내가 누군가 firebreath 작동하며 나를 도울 수 있기를 바랍니다 : 여기에

코드입니다!


파이어 폭스 버전과 분리 된 조각을 다른 줄로 업데이트했지만 오류가 계속 발생합니다. 나는 다음과 같은 한 :

var plug = plugin(); 
var fn = plug.getMetaDataOfFileOrFolder; 
var md; 
for(var i=0; i<100; i++) 
{ 
    md = fn("dropbox/demotext","null",true,false,"null"); 
} 
alert("Finish"); 

이 경고는

를 호출되지 않을 것입니다! 라인

[unsupported: no toString() function in type function] 

: 일부 통화 후 오류가 여전히있다

md = fn("dropbox/demotext","null",true,false,"null"); 
+0

, 나는 또한 나쁜 질문을 발견했습니다 http://stackoverflow.com/questions/9208441/javascript-error-unsupported-no-tostring-function-in-type-function – FMaz008

+0

다음에 내가 할게요 –

+0

... 더 명확한 질문을 다시 게시하여 옳은 일을했다고 생각합니다. 나는 이전에 언급 한 내용에 몇 가지 세부 사항이 포함되어 있기 때문에 실제로 링크하고 싶었습니다. – FMaz008

답변

1
  1. 먼저 파이어 폭스를 업데이트하려고; 파이어 폭스의 이전 버전에 버그가 있었는데, 때때로 브리지를 통해 전송 된 두 개의 NPObject를 서로 바꿔야 할 것보다 다른 객체를 제공합니다.

  2. 당신이 그것을 다른 라인에이의

  3. 별도의 조각을 할 때마다 호출되지 않도록 오류가

발생 정확하게 위치를 볼 수 있도록 부모 범위에 플러그인() 호출을 이동

이처럼

:

var plug = plugin(); 
for(var i=0; i<100; i++) 
{ 
    var fn = plug.getMetaDataOfFileOrFolder; 
    var md = fn("dropbox/demotext","null",true,false,"null"); 
} 

오류를 가정 여전히이 var에 FN 행 또는 var에 MD 라인에 있다면 그것은 우리에게 많은 것을 알려줍니다 발생합니다. 또한 루프에서 var fn 행을 이동하여 그 중 어떤 것이 수행되는지 확인할 수도 있습니다.

문제가 다음 아마 차이를 만들 것입니다 var에 FN을 이동 파이어 폭스 버그에 관련된 경우; 그 테스트를하고 결과를보고하면, 우리가 무슨 일이 일어나는지 알아낼 수 있습니다. 이 링크를 만드는 도움이 될 이런 경우에