我为 Windows 开发了 npapi 插件。它适用于 Chrome、Opera、Firefox。但它在 Safari 中崩溃。我试图找到在 safari 中工作的稳定 npapi 插件,但我没有找到这个。
例如:
1)我第一次从插件获取属性。有用。
2)但是当我再次尝试时它失败了。
但我看到 Flash 在 Safari 中有效。为什么?谢谢你。
bool CScriptableObject::HasProperty(NPIdentifier name)
{
ATL::CString strFunc = NPN_UTF8FromIdentifier(name);
if(!strFunc.CompareNoCase(PROPERTY_VERSION))
{
return true;
}
return false;
}
bool CScriptableObject::GetProperty(NPIdentifier name, NPVariant *result)
{
ATL::CString strFunc = NPN_UTF8FromIdentifier(name);
if(!strFunc.CompareNoCase(PROPERTY_VERSION))
{
INT32_TO_NPVARIANT(6, *result);
return true;
}
return false;
}
因此,当我尝试从 js Safari 崩溃中获取正确的“版本”时,这段代码只能工作一次