firebreath フレームワークを使用してブラウザ プラグインを作成しています。JavaScript でプラグインを使用すると、奇妙なエラーが発生します。
unsupported: no toString() function in type function
JSAPIPtr を返す Dropbox_pluginAPI クラスのメソッドを数回呼び出そうとすると、このエラーが発生します。
コードは次のとおりです。
//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");