Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |
Qt-based LiveConnect Plugins
The Qt-based Netscape Plugin software makes it easy to write plugins that can be used on both Unix/Linux and Windows/95/NT, in Netscape and Internet Explorer, and any other web browser supporting the same protocol.
How-to
- Download the
Plugin SDK from Netscape, and copy the following files from there to
$QTDIR/extensions/nsplugin/src
- common/npwin.cpp
- common/npunix.c
- include/npapi.h
- include/npupp.h
- include/jri.h
- include/jri_md.h
- include/jritypes.h
- Build the Netscape Plugin extension library, found in the extensions/nsplugin/src directory of your Qt distribution. This produces a static library to be linked with your plugin code.
- Read the plugin class documentation, and examine the example plugins.
- Do most of your development as a stand-alone Qt application - debugging Netscape Plugins is cumbersome. You may want to use signal(2) in your plugin to enable core-dumps if your browser disables them.
- Note the platform-specific build steps below.
- Read about the raw plugin interface in Netscape's handbook.
- If files viewed by a plugin are provided by an HTTP server (using a http://... URL) then the server must be configured to send the correct MIME type for the file, e.g. by editing Apache's mime.types file. If the files are viewed via a //... URL, then the browser will use the filename extension to decide the file type (and hence the plugin to load) - the user may need to set the filename extension in the Helpers or Applications section of their browser preferences.
Building under X11
- The Makefiles in the examples are appropriate for UNIX/X11.
- The user must install the resulting Shared Object in the Plugins directory of the browser.
Building under Windows
- Qt needs to be built as a static library when building Netscape plugins.
- Plugins must be named npname.dll, or the browser will ignore them.
- The link step must include:
- /def:name.def
- /dll
- a compiled resource file defining the file/MIME types accepted by the plugin.
- The user must install the resulting DLL in the Plugins directory of the browser.
Known Bugs
The Qt-based LiveConnect Plugin binding code has a number of minor bugs, but is sufficiently stable for many production applications.
- MSIE 4.0 support is poor.
- Crashes on X11 if window is closed via window manager.
- Keyboard problems on Windows.
Copyright © 2002 Trolltech | Trademarks | Qt version 3.0.5
|