2012-02-10 16 views
1

firebreathフレームワークを使用してブラウザプラグインを作成しています。私はJavaScriptを使用してプラグインを使用すると、私は奇妙なエラーが出ます:私はJSAPIPtrを返す私のDropbox_pluginAPIクラスに数回メソッドを呼び出そうwhenyFirebreath JavaScriptエラー:サポートされていません:タイプ関数のtoString()関数なし

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で動作し、私を助けることができることを願っています!


firefoxのバージョンと別々の行を別々の行に更新しましたが、それでもエラーが発生します。 私は次のようにしました:

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

k次回はやるよ –

+0

...もっと明確な質問を投稿することで正しいことをやり遂げたと思う。前のコメントのコメントにいくつかの詳細が含まれているので、実際にリンクしたかっただけです。 – FMaz008

答えて

1
  1. 初のFirefoxをアップデートしてみてください。古いバージョンのfirefoxには、橋を渡って送られてきた2つのNPObjectを入れ替えることがあるバグがありました。

  2. は)(あなたのプラグインを移動し、エラーが

を発生する場所を正確にあなたが見ることができるようにあなたが別の行にするたびに、このの

  • 別々の作品を、それを呼び出していないので、親スコープに呼び出す

    このよう

    :それはVARは、fnラインやVaRのMDライン上にある場合

    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行を移動して、それが何かをするかどうかを調べることもできます。

    問題がFirefoxのバグに関連している場合、var fnを移動すると違いが生じる可能性があります。それらのテストを行い、その結果を報告すると、何が起きているか把握するのに役立ちます。

  • 関連する問題