Я использую фреймворк Firebreath, чтобы написать плагин для браузера.Когда я использую плагин с javascript, я получаю странную ошибку:
unsupported: no toString() function in type function
Я получаю эту ошибку, когда пытаюсь несколько раз вызвать метод моего класса Dropbox_pluginAPI, который возвращает JSAPIPtr.
Вот код:
//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");