wcuibo
小狐狸
小狐狸
  • UID34413
  • 注册日期2010-11-03
  • 最后登录2011-04-12
  • 发帖数8
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:3413回复:6

求助: 关于plugins 开发 返回string造成浏览器假死的问题

楼主#
更多 发布于:2010-11-03 17:32
最近在从事fixfox下的插件开发工作,遇到一个非常奇怪的问题,在插件里面的方法的返回值是string类型时,会造成浏览器假死
例子:


if (name == pluginMethodIdentifiers[ID_GETTESTFILE_METHOD]) {
//BOOLEAN_TO_NPVARIANT(true, *result);
//INT32_TO_NPVARIANT( f, *result );

STRINGZ_TO_NPVARIANT( strdup( "This is a test." ), *result );

return true;
    }

bool 和int没有问题,在3.6.12, 3.5.13版都测试了,一样的现象


请问各位高手,这个问题如何处理?
rkfirefox
小狐狸
小狐狸
  • UID34419
  • 注册日期2010-11-04
  • 最后登录2010-11-11
  • 发帖数6
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2010-11-03 17:32
泪流满面,我也开始搞鸡巴npruntime,连个高手都找不到,不说了,我也遇到了这个问题,我们探讨一下吧,相互有个照应
1603814843
rkfirefox
小狐狸
小狐狸
  • UID34419
  • 注册日期2010-11-04
  • 最后登录2010-11-11
  • 发帖数6
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2010-11-03 17:32
wcuibo
小狐狸
小狐狸
  • UID34413
  • 注册日期2010-11-03
  • 最后登录2011-04-12
  • 发帖数8
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2010-11-03 17:32
非常感谢,我花了好久才想出办法通过js绕过去这个问题,呵呵,这样解决就更好了
wcuibo
小狐狸
小狐狸
  • UID34413
  • 注册日期2010-11-03
  • 最后登录2011-04-12
  • 发帖数8
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
4楼#
发布于:2010-11-03 17:32
奇怪的是在我自己编译的3.6.6版本上面运行,就没有问题,看来插件坑还真不少
ffstudy
小狐狸
小狐狸
  • UID34155
  • 注册日期2010-10-01
  • 最后登录2010-11-12
  • 发帖数1
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2010-11-03 17:32
我做的插件  有的机器可以  有的机器无效。真郁闷。。。
mygames10
狐狸大王
狐狸大王
  • UID30577
  • 注册日期2009-10-04
  • 最后登录2022-02-14
  • 发帖数337
  • 经验55枚
  • 威望0点
  • 贡献值48点
  • 好评度3点
  • 社区居民
  • 忠实会员
6楼#
发布于:2010-11-03 17:32
wcuibo:最近在从事fixfox下的插件开发工作,遇到一个非常奇怪的问题,在插件里面的方法的返回值是string类型时,会造成浏览器假死
例子:


if (name == pluginMethodIdentifiers[ID_GETTESTFILE_METHOD]) {
//BOOLEAN_TO_NPVARIANT(true, *result);
//INT32_TO_NPVARIANT( f, *result );

STRINGZ_TO_NPVARIANT( strdup( "This is a test." ), *result );

return true;
    }

bool 和int没有问题,在3.6.12, 3.5.13版都测试了,一样的现象


请问各位高手,这个问题如何处理?
回到原帖

問題出在strdup這個函數上,還是多寫幾行代碼用memalloc分配內存比較安全
Nice to meet you.
游客

返回顶部