Windows 用の npapi プラグインを開発しました。Chrome、Opera、Firefox で動作します。しかし、Safari ではクラッシュします。サファリで動作する安定した npapi プラグインを見つけようとしましたが、これは見つかりませんでした。
例えば:
1) 初めてプラグイン fot からプロパティを取得します。できます。
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 クラッシュから適切な「バージョン」を取得しようとすると、1 回だけ機能します。