npapi と chrome を使用してタグ名で dom 要素を取得しようとしていますが、結果の長さは常にゼロです。
NPVariant tagName;
STRINGZ_TO_NPVARIANT("input", tagName);
NPVariant inputCollection;
if(!NPN_Invoke(m_pNPInstance, doc,NPN_GetStringIdentifier("getElementsByTagName"), &tagName, 1, &inputCollection))
{
outLog<<"get input error"<<endl;
}
NPVariant npvlength;
if (NPN_GetProperty(m_pNPInstance, NPVARIANT_TO_OBJECT(inputCollection), NPN_GetStringIdentifier("length"), &npvlength))
{
outLog<<npvlength.type<<"," <<npvlength.value.intValue<<endl;
}
npvlength.value.intValue は常に 0 ですが、要素を取得しようとすると問題ありません。要素とそのプロパティを取得できます。
NPVariant index;
INT32_TO_NPVARIANT(0, index);
NPVariant Item;
if (NPN_Invoke(m_pNPInstance, NPVARIANT_TO_OBJECT(inputCollection), NPN_GetStringIdentifier("item"), &index, 1, &Item))
{
NPVariant typeVal;
if (NPN_GetProperty(m_pNPInstance, NPVARIANT_TO_OBJECT(Item), NPN_GetStringIdentifier("type"), &typeVal))
{
outLog<<NPVARIANT_TO_STRING(typeVal).UTF8Characters<<endl;
}
}