Ich habe die Fragen in diesem Forum in Bezug auf diese Probleme durchlaufen, aber ich habe keine Abfrage im Zusammenhang mit der Art des Problems, das ich konfrontiert bin. Ich habe ein NPAPI-Plugin geschrieben, das mit GtkLauncher (kommt mit Webkit) und Firefox gut funktioniert, aber mit google-chrome (18.0.1025.151) taucht das Plugin nicht einmal in: plugins auf. Ich laufe auf Ubuntu 10.10.NPAPI Plugin zeigt nicht in etwa: Plugins in Google Chrome
Wenn ich das Plugin in Google-Chrome geladen habe, bekomme ich im Browser einen Fehler beim Laden des Plugins, aber auf der Konsole wird nichts angezeigt. Ich bezweifle, dass meine NP_Initialize-Funktion aufgerufen wird.
Hier ist der NP_Initialize Code:
-------------------------------
NPError OSCALL
NP_Initialize(NPNetscapeFuncs *npnf
#if !defined(_WINDOWS) && !defined(WEBKIT_DARWIN_SDK)
, NPPluginFuncs *nppfuncs)
#else
)
#endif
{
MEDIA_DEBUG_PRINT("\nwcf Media plugin: NP_Initialize");
if(npnf == NULL)
return NPERR_INVALID_FUNCTABLE_ERROR;
if(HIBYTE(npnf->version) > NP_VERSION_MAJOR)
return NPERR_INCOMPATIBLE_VERSION_ERROR;
npnfuncs = npnf;
#if !defined(_WINDOWS) && !defined(WEBKIT_DARWIN_SDK)
NP_GetEntryPoints(nppfuncs);
#endif
return NPERR_NO_ERROR;
}
NPError OSCALL
NP_GetEntryPoints(NPPluginFuncs *nppfuncs)
{
MEDIA_DEBUG_PRINT("\nwcf Media plugin: NP_GetEntryPoints");
nppfuncs->version = (NP_VERSION_MAJOR << 8) | NP_VERSION_MINOR;
nppfuncs->newp = nevv;
nppfuncs->destroy = destroy;
nppfuncs->getvalue = getValue;
nppfuncs->event = handleEvent;
nppfuncs->setwindow = setWindow;
return NPERR_NO_ERROR;
}
Ich weiß, es ist ein firebreath Rahmen für die Cross-Browser-Entwicklung, die ich Plan zu verwenden, aber derzeit muss ich mein Plugin bekommen auf Chrom ausgeführt.
Kann mir bitte jemand helfen, mein Problem zu lösen?
Danke und Grüße, Souvik
Vielen Dank für Ihre Antwort. Eigentlich habe ich einen Konsolenabdruck gegeben - MEDIA_DEBUG_PRINT ("\ nwcf Media plugin: NP_Initialize"); in der Funktion NP_Initialize(), die beim Laden in Chrome nicht gedruckt wird. – Souvik
Ja, mir ist bewusst, dass Sie einen Konsolendruck haben. Ich bin mir jedoch nicht sicher, ob Sie wahrscheinlich die Ergebnisse dieses Drucks * sehen * werden, da Sie sich in einem separaten Prozess von Chrome befinden, und ich habe die Erfahrung gemacht, dass in diesen Fällen Stdout oft umgeleitet wird. Wenn Sie es an eine Datei senden, können Sie sicher sein. – taxilian
Ok, ich werde das sofort überprüfen. Ich erstelle eine Soft-Verknüpfung meiner .so-Dateien zum Ordner/usr/lib/mozilla/plugins. Ich habe auch Zugangsfunktionen für MIME und Version. Hier sind die Inhalte: char * NP_GetMIMEDescription (void) {zurück (char *) "application/x-wcfconn: wcf: Dies ist ein Connectivity-Plugin";} char * NP_GetPluginVersion() {Rückkehr (char *) PLUGIN_VERSION;} – Souvik