You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
3.7 KiB
113 lines
3.7 KiB
/****************************************************************************
|
|
**
|
|
** Index page
|
|
**
|
|
** Copyright (C) 1995-2008 Trolltech ASA. All rights reserved.
|
|
**
|
|
*****************************************************************************/
|
|
|
|
#if defined(QT_DEBUG)
|
|
#endif
|
|
|
|
/*! \page netscape-plugin.html
|
|
|
|
\title Qt Netscape Plugin Extension
|
|
\keyword Netscape
|
|
|
|
The Qt Netscape Plugin software makes it easy to write browser plugins
|
|
that can be used on both Unix/Linux and MS-Windows, in Netscape,
|
|
Mozilla, and any other web browser supporting Netscape's LiveConnect
|
|
protocol. Modern versions of MSIE do not support this protocol. Use
|
|
the ActiveQt Framework to develop plugins for these browsers.
|
|
|
|
\section1 Information
|
|
|
|
The Netscape Plugin Extension consists of the follow classes:
|
|
\list
|
|
\i \l QNPlugin
|
|
\i \l QNPInstance
|
|
\i \l QNPWidget
|
|
\i \l QNPStream
|
|
\endlist
|
|
|
|
\section1 How-to
|
|
|
|
\list 1
|
|
\i Download the
|
|
\link http://home.netscape.com/comprod/development_partners/plugin_api/index.html
|
|
Plugin SDK from Netscape \endlink, and copy the following files from there to
|
|
\c{$QTDIR/extensions/nsplugin/src}
|
|
\list
|
|
\i \c common/npwin.cpp
|
|
\i \c common/npunix.c
|
|
\i \c include/npapi.h
|
|
\i \c include/npupp.h
|
|
\i \c include/jri.h
|
|
\i \c include/jri_md.h
|
|
\i \c include/jritypes.h
|
|
\endlist
|
|
\i Build the Netscape Plugin extension library, found in the
|
|
\c{extensions/nsplugin/src} directory of your Qt distribution.
|
|
This produces a static library to be linked with your plugin code.
|
|
\i Read the \link qnplugin.html plugin class documentation \endlink, and
|
|
examine the \link nsplugin-examples.html example plugins \endlink.
|
|
\i Do most of your development as a stand-alone Qt application - debugging
|
|
Netscape Plugins is cumbersome. You may want to use \c{signal(2)}
|
|
in your plugin to enable core-dumps if your browser disables them.
|
|
\i Note the platform-specific build steps below.
|
|
\i Read about the raw plugin interface
|
|
\link http://developer.netscape.com/docs/manuals/communicator/plugin/index.htm
|
|
in Netscape's handbook. \endlink
|
|
\i If files viewed by a plugin are provided by an HTTP server
|
|
(using a \c{http://...} URL) then
|
|
the server must be configured to send the correct MIME type
|
|
for the file, e.g. by editing Apache's \c{mime.types} file.
|
|
If the files are viewed via a \c{file://...}
|
|
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.
|
|
\endlist
|
|
|
|
|
|
\section2 Building under X11
|
|
|
|
\list
|
|
\i The Makefiles in the examples are appropriate for UNIX/X11.
|
|
\i The user must install the resulting Shared Object in the Plugins
|
|
directory of the browser.
|
|
\endlist
|
|
|
|
\section2 Building under Windows
|
|
|
|
\list
|
|
\i For Netscape plugins to work, Qt needs to be in the system DLL
|
|
path or be compiled into the plugin as a static library.
|
|
\i Plugins must be named \c{np}\e{name}\c{.dll},
|
|
or the browser will ignore them.
|
|
\i The link step must include:
|
|
\list
|
|
\i \c{/def:}\e{name}\c{.def}
|
|
\i \c{/dll}
|
|
\i a compiled resource file defining the
|
|
file/MIME types accepted by the plugin.
|
|
\endlist
|
|
\i The user must install the resulting DLL in the Plugins directory
|
|
of the browser.
|
|
\endlist
|
|
|
|
\section1 Known Bugs and Limitations
|
|
|
|
The Qt-based LiveConnect Plugin binding code has a number of bugs and
|
|
limitations, but is sufficiently stable for many production
|
|
applications.
|
|
|
|
\list
|
|
\i Keyboard input only works in secondary windows (e.g. dialogs created by the plugin).
|
|
\i You should not expect modality between the plugin and the browser to work.
|
|
\i Netscape 4.78 on Unix/X11 tends to terminate with a bus error.
|
|
\i Opaque resize behaviour is erratic due to browser behavior.
|
|
\endlist
|
|
|
|
*/
|