Frage

Ich habe eine alte NPAPI-Plugin für Mac OS X, dass ich für den Einsatz mit Snow Leopard-Version von Safari zu Refit bin versucht. Mein Problem ist, dass, wenn ich Safari auf 64-Bit-Modus zu wechseln, es die Plugin-Umgebung aus dem Prozessbetrieb wechselt (wo Plugins von einem 32-Bit-WebKitPluginHost Prozess gehostet werden). Und nun meine Symbolleiste Paletten sind nicht auf dem Bildschirm sichtbar, obwohl die NSPanels auf denen sie beruhen, denken, dass sie sichtbar sind. Die Dokumentation sagt, dass die Fenster der Erziehung ist nicht zu empfehlen, aber nicht sagen, seine verboten; es etwas, das ich tun kann, bringen mein Windows?

War es hilfreich?

Lösung

Die zuverlässigste Lösung ist einfach eine andere Anwendung zu lassen, möglicherweise mit Ihrem Plugin über einige IPC-Mechanismus, das tun Apple- :

  

Vermeiden Erstellen Fenster. Die Absicht ist für Plug-Ins im Browser-Fenster zu arbeiten. Obwohl einige Plug-ins historisch geschehen, Fenster in Ihrem Plug-in-Erstellung wird nicht empfohlen. Wenn Sie separate Fenster zu halten brauchen, sollten Sie eine separate Anwendung zu starten.

Bringing up-Fenster von einem Plugin könnte unter Umständen arbeitet und bricht vollständig in verschiedenen. Durch die Empfehlung gegen so Apple-tun ist frei, Ihr zuvor Arbeitsverhalten zu brechen, wann immer es will.

Andere Tipps

Leider, wahrscheinlich nicht. Wenn Sie etwas zu tun, die nicht möglich mit den üblichen Grafikbibliotheken ist (Coreanimation, Kakao, etc.), können Sie es wahrscheinlich nicht tun, um die 32-Bit-Plug-in 64-Bit-Safari verwendet wird.

könnten Sie in der Lage sein, mehr zu tun, wenn Sie Ihre Plug-in 64-Bit-Modus kompilieren, though. Ich weiß nicht: - /

Ich weiß, ich bin ein wenig zu spät. Safari nicht zulässt, dass Plugin NSPanel angezeigt werden soll. Sie sollten stattdessen mit NSWindow versuchen. Ich weiß, dass Apple nicht einverstanden ist.

Für Menü zeigt könnten Sie „popupcontextmenu“ verwenden. Es dauert NPNSMenu das ist NSMenu typecasted.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top