Web browser plug-ins are compiled bundles that help extend the content types supported by common web browsers. Installed locally on a computer, they can run code native to the user’s operating system and provide a powerful way to expand on standard web content.
This document is designed for a number of different audiences:
If you are a Cocoa and WebKit developer, you should read about the WebKit plug-in architecture and learn how compiled plug-ins operate within WebKit-based applications, including Safari.
If you are a developer who is concerned with cross-platform compatibility for your software, but who also wants to deploy special content via a web browser, you should read about the Netscape-based plug-in architecture and learn how it is supported in a variety of browsers.
If you are a web content developer, you should read about both plug-in architectures and learn how to integrate their features into custom plug-ins to support your content.
Note: Safari supports the latest web standards, which may serve your needs more easily than a plug-in. If you are developing a plug-in to embed audio or video, you can instead take advantage of Safari’s support for the <audio>
and <video>
tags in HTML 5. Client-side storage is available in Safari through the Storage and SQL APIs, also defined in HTML 5. If you are developing a rich user interface, Safari supports CSS transforms, transitions, and animations. More information on Safari and CSS can be found in Safari CSS Reference.
The topic contains the following articles:
“About Web Browser Plug-ins” describes the benefits of web browser plug-ins and how they are integrated into common browsers. It also discusses the advantages and disadvantages of both plug-in models, and how to deploy plug-ins on computers and web sites.
“Creating Plug-ins with Cocoa and WebKit ” describes how to use the WebKit-based plug-in architecture to develop and deploy web browser plug-ins for Safari and WebKit-based applications.
“Creating Plug-ins with the Netscape API” describes how to use the Netscape plug-in architecture to develop and deploy web browser plug-ins across multiple browsers and platforms.
There are lots of helpful resources available to guide you through plug-in development.
Read the WebKit Objective-C Framework Reference for the full WebKit plug-in reference and the reference detailing the WebKit-scripting environment bridge.
Read the WebKit Objective-C Programming Guide for tips on good WebKit application design and how the web scripting environment can access WebKit methods and properties (and vice versa).
On your hard drive in Mac OS X v10.5 or earlier, /Developer/Examples/WebKit/
contains sample code for both the Netscape and the WebKit version of the movie player plug-in.
Mozilla’s Plug-ins Project discusses the cross-browser Netscape API and also includes lots of sample code.
Plug-in Detections discusses how to tune your web content to detect plug-ins (if registration did not solve the problem).
Last updated: 2009-03-13