Gecko Plugin API Reference

  • 版本网址缩略名: Gecko_Plugin_API_Reference
  • 版本标题: Gecko Plugin API Reference
  • 版本 id: 323167
  • 创建于:
  • 创建者: Sheppy
  • 是否是当前版本?
  • 评论

修订内容

{{ Npapi-page("Plug-in Basics") }}

  • {{ Npapi-section("Plug-in Basics", "How Plug-ins Are Used") }}
    • {{ Npapi-section("Plug-in Basics", "Plug-ins and Helper Applications") }}
  • {{ Npapi-section("Plug-in Basics", "How Plug-ins Work") }}
  • {{ Npapi-section("Plug-in Basics", "Understanding the Runtime Model") }}
  • {{ Npapi-section("Plug-in Basics", "Plug-in Detection") }}
    • {{ Npapi-section("Plug-in Basics", "How Gecko Finds Plug-ins") }}
    • {{ Npapi-section("Plug-in Basics", "Checking Plug-ins by MIME Type") }}
  • {{ Npapi-section("Plug-in Basics", "Overview of Plug-in Structure") }}
    • {{ Npapi-section("Plug-in Basics", "Understanding the Plug-in API") }}
    • {{ Npapi-section("Plug-in Basics", "Plug-ins and Platform Independence") }}
  • {{ Npapi-section("Plug-in Basics", "Windowed and Windowless Plug-ins") }}
  • {{ Npapi-section("Plug-in Basics", "The Default Plug-in") }}
  • {{ Npapi-section("Plug-in Basics", "Using HTML to Display Plug-ins") }}
    • {{ Npapi-section("Plug-in Basics", "Plug-in Display Modes") }}
    • {{ Npapi-section("Plug-in Basics", "Using the object Element for Plug-in Display") }}
    • {{ Npapi-section("Plug-in Basics", "Nesting Rules for HTML Elements") }}
    • {{ Npapi-section("Plug-in Basics", "Using the Appropriate Attributes") }}
    • {{ Npapi-section("Plug-in Basics", "Using the embed Element for Plug-in Display") }}
    • {{ Npapi-section("Plug-in Basics", "Using Custom embed Attributes") }}
  • {{ Npapi-section("Plug-in Basics", "Plug-in References") }}

{{ Npapi-page("Plug-in Development Overview") }}

  • {{ Npapi-section("Plug-in Development Overview", "Writing Plug-ins") }}
  • {{ Npapi-section("Plug-in Development Overview", "Registering Plug-ins") }}
    • {{ Npapi-section("Plug-in Development Overview", "MS Windows") }}
    • {{ Npapi-section("Plug-in Development Overview", "Unix") }}
    • {{ Npapi-section("Plug-in Development Overview", "Mac OS X") }}
  • {{ Npapi-section("Plug-in Development Overview", "Drawing a Plug-in Instance") }}
  • {{ Npapi-section("Plug-in Development Overview", "Handling Memory") }}
  • {{ Npapi-section("Plug-in Development Overview", "Sending and Receiving Streams") }}
  • {{ Npapi-section("Plug-in Development Overview", "Working with URLs") }}
  • {{ Npapi-section("Plug-in Development Overview", "Getting Version and UI Information") }}
  • {{ Npapi-section("Plug-in Development Overview", "Displaying Messages on the Status Line") }}
  • {{ Npapi-section("Plug-in Development Overview", "Making Plug-ins Scriptable") }}
  • {{ Npapi-section("Plug-in Development Overview", "Building Plug-ins") }}
    • {{ Npapi-section("Plug-in Development Overview", "Building, Platforms, and Compilers") }}
    • {{ Npapi-section("Plug-in Development Overview", "Building Carbonized Plug-ins for Mac OS X") }}
    • {{ Npapi-section("Plug-in Development Overview", "Type Libraries") }}
  • {{ Npapi-section("Plug-in Development Overview", "Installing Plug-ins") }}
    • {{ Npapi-section("Plug-in Development Overview", "Native Installers") }}
    • {{ Npapi-section("Plug-in Development Overview", "XPI Plug-ins Installations") }}
  • {{ Npapi-section("Plug-in Development Overview", "Plug-in Installation and the Windows Registry") }}

{{ Npapi-page("Initialization and Destruction") }}

  • {{ Npapi-section("Initialization and Destruction", "Initialization") }}
  • {{ Npapi-section("Initialization and Destruction", "Instance Creation") }}
  • {{ Npapi-section("Initialization and Destruction", "Instance Destruction") }}
  • {{ Npapi-section("Initialization and Destruction", "Shutdown") }}
  • {{ Npapi-section("Initialization and Destruction", "Initialize and Shutdown Example") }}

{{ Npapi-page("Drawing and Event Handling") }}

  • {{ Npapi-section("Drawing and Event Handling", "The NPWindow Structure") }}
  • {{ Npapi-section("Drawing and Event Handling", "Drawing Plug-ins") }}
    • {{ Npapi-section("Drawing and Event Handling", "Printing the Plug-in") }}
    • {{ Npapi-section("Drawing and Event Handling", "Setting the Window") }}
    • {{ Npapi-section("Drawing and Event Handling", "Getting Information") }}
  • {{ Npapi-section("Drawing and Event Handling", "Windowed Plug-ins") }}
    • {{ Npapi-section("Drawing and Event Handling", "Mac OS") }}
    • {{ Npapi-section("Drawing and Event Handling", "Windows") }}
    • {{ Npapi-section("Drawing and Event Handling", "Unix") }}
    • {{ Npapi-section("Drawing and Event Handling", "Event Handling for Windowed Plug-ins") }}
  • {{ Npapi-section("Drawing and Event Handling", "Windowless Plug-ins") }}
    • {{ Npapi-section("Drawing and Event Handling", "Specifying That a Plug-in Is Windowless") }}
    • {{ Npapi-section("Drawing and Event Handling", "Invalidating the Drawing Area") }}
    • {{ Npapi-section("Drawing and Event Handling", "Forcing a Paint Message") }}
    • {{ Npapi-section("Drawing and Event Handling", "Making a Plug-in Opaque") }}
    • {{ Npapi-section("Drawing and Event Handling", "Making a Plug-in Transparent") }}
    • {{ Npapi-section("Drawing and Event Handling", "Creating Pop-up Menus and Dialog Boxes") }}
    • {{ Npapi-section("Drawing and Event Handling", "Event Handling for Windowless Plug-ins") }}

{{ Npapi-page("Streams") }}

  • {{ Npapi-section("Streams", "Receiving a Stream") }}
  • {{ Npapi-section("Streams", "Telling the Plug-in When a Stream Is Created") }}
  • {{ Npapi-section("Streams", "Telling the Plug-in When a Stream Is Deleted") }}
  • {{ Npapi-section("Streams", "Finding Out How Much Data the Plug-in Can Accept") }}
  • {{ Npapi-section("Streams", "Writing the Stream to the Plug-in") }}
  • {{ Npapi-section("Streams", "Sending the Stream in Random-Access Mode") }}
  • {{ Npapi-section("Streams", "Sending the Stream in File Mode") }}
  • {{ Npapi-section("Streams", "Sending a Stream") }}
  • {{ Npapi-section("Streams", "Creating a Stream") }}
  • {{ Npapi-section("Streams", "Pushing Data into the Stream") }}
  • {{ Npapi-section("Streams", "Deleting the Stream") }}
  • {{ Npapi-section("Streams", "Example of Sending a Stream") }}

{{ Npapi-page("URLs") }}

  • {{ Npapi-section("URLs", "Getting URLs") }}
    • {{ Npapi-section("URLs", "Getting the URL and Displaying the Page") }}
  • {{ Npapi-section("URLs", "Posting URLs") }}
    • {{ Npapi-section("URLs", "Posting Data to an HTTP Server") }}
    • {{ Npapi-section("URLs", "Uploading Files to an FTP Server") }}
    • {{ Npapi-section("URLs", "Sending Mail") }}

{{ Npapi-page("Memory") }}

  • {{ Npapi-section("Memory", "Allocating and freeing memory") }}
    • {{ Npapi-section("Memory", "Mac OS") }}
  • {{ Npapi-section("Memory", "Flushing memory (Mac OS only)") }}

{{ Npapi-page("Version, UI, and Status Information") }}

  • {{ Npapi-section("Version, UI, and Status Information", "Displaying a Status Line Message") }}
  • {{ Npapi-section("Version, UI, and Status Information", "Getting Agent Information") }}
  • {{ Npapi-section("Version, UI, and Status Information", "Getting the Current Version") }}
  • {{ Npapi-section("Version, UI, and Status Information", "Finding Out if a Feature Exists") }}
  • {{ Npapi-section("Version, UI, and Status Information", "Reloading a Plug-in") }}

{{ Npapi-page("Plug-in Side Plug-in API") }}

This chapter describes methods in the plug-in API that are available from the plug-in object. The names of all of these methods begin with NPP_ to indicate that they are implemented by the plug-in and called by the browser. For an overview of how these two sides of the plug-in API interact, see the {{ Npapi-section("Plug-in Basics", "How Plug-ins Work") }} and {{ Npapi-section("Plug-in Basics", "Overview of Plug-in Structure") }} sections in the introduction.

  • {{ Npapi("NPP_Destroy") }}
  • {{ Npapi("NPP_DestroyStream") }}
  • {{ Npapi("NPP_GetValue") }}
  • {{ Npapi("NP_GetValue") }}
  • {{ Npapi("NPP_HandleEvent") }}
  • {{ Npapi("NP_Initialize") }}
  • {{ Npapi("NPP_New") }}
  • {{ Npapi("NPP_NewStream") }}
  • {{ Npapi("NPP_Print") }}
  • {{ Npapi("NPP_SetValue") }}
  • {{ Npapi("NPP_SetWindow") }}
  • {{ Npapi("NP_Shutdown") }}
  • {{ Npapi("NPP_StreamAsFile") }}
  • {{ Npapi("NPP_URLNotify") }}
  • {{ Npapi("NPP_Write") }}
  • {{ Npapi("NPP_WriteReady") }}

{{ Npapi-page("Browser Side Plug-in API") }}

{{ page("en-US/docs/Gecko_Plugin_API_Reference/Browser_Side_Plug-in_API") }}

{{ Npapi-page("Scripting plugins") }}

  • {{ Npapi-section("Scripting plugins", "How the DOM handles scripting") }}
  • {{ Npapi-section("Scripting plugins", "Threading model") }}
  • {{ Npapi-section("Scripting plugins", "Security model") }}
  • {{ Npapi-section("Scripting plugins", "What\'s in the plugin code?") }}
  • {{ Npapi-section("Scripting plugins", "Accessing browser objects from a plugin") }}
  • {{ Npapi-section("Scripting plugins", "How to call plugin native methods") }}
  • {{ Npapi-section("Scripting plugins", "The API extensions") }}
    • {{ Npapi("NPString") }}
    • {{ Npapi("NPVariant") }}
      • {{ Funcref("NPN_ReleaseVariantValue") }}
      • {{ Funcref("NPN_GetStringIdentifier") }}
      • {{ Funcref("NPN_GetStringIdentifiers") }}
      • {{ Funcref("NPN_GetIntIdentifier") }}
      • {{ Funcref("NPN_IdentifierIsString") }}
      • {{ Funcref("NPN_UTF8FromIdentifier") }}
      • {{ Funcref("NPN_IntFromIdentifier") }}
    • {{ Npapi("NPObject") }}
      • {{ Funcref("NPN_CreateObject") }}
      • {{ Funcref("NPN_RetainObject") }}
      • {{ Funcref("NPN_ReleaseObject") }}
      • {{ Funcref("NPN_Invoke") }}
      • {{ Funcref("NPN_InvokeDefault") }}
      • {{ Funcref("NPN_Evaluate") }}
      • {{ Funcref("NPN_GetProperty") }}
      • {{ Funcref("NPN_SetProperty") }}
      • {{ Funcref("NPN_RemoveProperty") }}
      • {{ Funcref("NPN_HasProperty") }}
      • {{ Funcref("NPN_HasMethod") }}
      • {{ Funcref("NPN_SetException") }}
    • {{ Npapi("NPClass") }}

{{ Npapi-page("Structures") }}

  • {{ Npapi("NPAnyCallbackStruct") }}
  • {{ Npapi("NPByteRange") }}
  • {{ Npapi("NPEmbedPrint") }}
  • {{ Npapi("NPEvent") }}
  • {{ Npapi("NPFullPrint") }}
  • {{ Npapi("NPP") }}
  • {{ Npapi("NP_Port") }}
  • {{ Npapi("NPPrint") }}
  • {{ Npapi("NPPrintCallbackStruct") }}
  • {{ Npapi("NPRect") }}
  • {{ Npapi("NPRegion") }}
  • {{ Npapi("NPSavedData") }}
  • {{ Npapi("NPSetWindowCallbackStruct") }}
  • {{ Npapi("NPStream") }}
  • {{ Npapi("NPWindow") }}

{{ Npapi-page("Constants") }}

  • {{ Npapi-section("Constants", "Error Codes") }}
  • {{ Npapi-section("Constants", "Result Codes") }}
  • {{ Npapi-section("Constants", "Plug-in Version Constants") }}
  • {{ Npapi-section("Constants", "Version Feature Constants") }}

External Resources

Original Document Information

  • Copyright Information: Netscape Communication

{{ languages( {"de": "de/Gecko_Plugin_API_Referenz", "ja": "ja/Gecko_Plugin_API_Reference", "fr": "fr/Documentation_API_Greffons_Gecko", "pl": "pl/Dokumentacja_wtyczek_Gecko" } ) }}

修订版来源

<h3 id="Npapi-pagePlug-in_Basics" name="Npapi-pagePlug-in_Basics">{{ Npapi-page("Plug-in Basics") }}</h3>
<ul>
  <li>{{ Npapi-section("Plug-in Basics", "How Plug-ins Are Used") }}
    <ul>
      <li>{{ Npapi-section("Plug-in Basics", "Plug-ins and Helper Applications") }}</li>
    </ul>
  </li>
  <li>{{ Npapi-section("Plug-in Basics", "How Plug-ins Work") }}</li>
  <li>{{ Npapi-section("Plug-in Basics", "Understanding the Runtime Model") }}</li>
  <li>{{ Npapi-section("Plug-in Basics", "Plug-in Detection") }}
    <ul>
      <li>{{ Npapi-section("Plug-in Basics", "How Gecko Finds Plug-ins") }}</li>
      <li>{{ Npapi-section("Plug-in Basics", "Checking Plug-ins by MIME Type") }}</li>
    </ul>
  </li>
  <li>{{ Npapi-section("Plug-in Basics", "Overview of Plug-in Structure") }}
    <ul>
      <li>{{ Npapi-section("Plug-in Basics", "Understanding the Plug-in API") }}</li>
      <li>{{ Npapi-section("Plug-in Basics", "Plug-ins and Platform Independence") }}</li>
    </ul>
  </li>
  <li>{{ Npapi-section("Plug-in Basics", "Windowed and Windowless Plug-ins") }}</li>
  <li>{{ Npapi-section("Plug-in Basics", "The Default Plug-in") }}</li>
  <li>{{ Npapi-section("Plug-in Basics", "Using HTML to Display Plug-ins") }}
    <ul>
      <li>{{ Npapi-section("Plug-in Basics", "Plug-in Display Modes") }}</li>
      <li>{{ Npapi-section("Plug-in Basics", "Using the object Element for Plug-in Display") }}</li>
      <li>{{ Npapi-section("Plug-in Basics", "Nesting Rules for HTML Elements") }}</li>
      <li>{{ Npapi-section("Plug-in Basics", "Using the Appropriate Attributes") }}</li>
      <li>{{ Npapi-section("Plug-in Basics", "Using the embed Element for Plug-in Display") }}</li>
      <li>{{ Npapi-section("Plug-in Basics", "Using Custom embed Attributes") }}</li>
    </ul>
  </li>
  <li>{{ Npapi-section("Plug-in Basics", "Plug-in References") }}</li>
</ul>
<h3 id="Npapi-pagePlug-in_Development_Overview" name="Npapi-pagePlug-in_Development_Overview">{{ Npapi-page("Plug-in Development Overview") }}</h3>
<ul>
  <li>{{ Npapi-section("Plug-in Development Overview", "Writing Plug-ins") }}</li>
  <li>{{ Npapi-section("Plug-in Development Overview", "Registering Plug-ins") }}
    <ul>
      <li>{{ Npapi-section("Plug-in Development Overview", "MS Windows") }}</li>
      <li>{{ Npapi-section("Plug-in Development Overview", "Unix") }}</li>
      <li>{{ Npapi-section("Plug-in Development Overview", "Mac OS X") }}</li>
    </ul>
  </li>
  <li>{{ Npapi-section("Plug-in Development Overview", "Drawing a Plug-in Instance") }}</li>
  <li>{{ Npapi-section("Plug-in Development Overview", "Handling Memory") }}</li>
  <li>{{ Npapi-section("Plug-in Development Overview", "Sending and Receiving Streams") }}</li>
  <li>{{ Npapi-section("Plug-in Development Overview", "Working with URLs") }}</li>
  <li>{{ Npapi-section("Plug-in Development Overview", "Getting Version and UI Information") }}</li>
  <li>{{ Npapi-section("Plug-in Development Overview", "Displaying Messages on the Status Line") }}</li>
  <li>{{ Npapi-section("Plug-in Development Overview", "Making Plug-ins Scriptable") }}</li>
  <li>{{ Npapi-section("Plug-in Development Overview", "Building Plug-ins") }}
    <ul>
      <li>{{ Npapi-section("Plug-in Development Overview", "Building, Platforms, and Compilers") }}</li>
      <li>{{ Npapi-section("Plug-in Development Overview", "Building Carbonized Plug-ins for Mac OS X") }}</li>
      <li>{{ Npapi-section("Plug-in Development Overview", "Type Libraries") }}</li>
    </ul>
  </li>
  <li>{{ Npapi-section("Plug-in Development Overview", "Installing Plug-ins") }}
    <ul>
      <li>{{ Npapi-section("Plug-in Development Overview", "Native Installers") }}</li>
      <li>{{ Npapi-section("Plug-in Development Overview", "XPI Plug-ins Installations") }}</li>
    </ul>
  </li>
  <li>{{ Npapi-section("Plug-in Development Overview", "Plug-in Installation and the Windows Registry") }}</li>
</ul>
<h3 id="Npapi-pageInitialization_and_Destruction" name="Npapi-pageInitialization_and_Destruction">{{ Npapi-page("Initialization and Destruction") }}</h3>
<ul>
  <li>{{ Npapi-section("Initialization and Destruction", "Initialization") }}</li>
  <li>{{ Npapi-section("Initialization and Destruction", "Instance Creation") }}</li>
  <li>{{ Npapi-section("Initialization and Destruction", "Instance Destruction") }}</li>
  <li>{{ Npapi-section("Initialization and Destruction", "Shutdown") }}</li>
  <li>{{ Npapi-section("Initialization and Destruction", "Initialize and Shutdown Example") }}</li>
</ul>
<h3 id="Npapi-pageDrawing_and_Event_Handling" name="Npapi-pageDrawing_and_Event_Handling">{{ Npapi-page("Drawing and Event Handling") }}</h3>
<ul>
  <li>{{ Npapi-section("Drawing and Event Handling", "The NPWindow Structure") }}</li>
  <li>{{ Npapi-section("Drawing and Event Handling", "Drawing Plug-ins") }}
    <ul>
      <li>{{ Npapi-section("Drawing and Event Handling", "Printing the Plug-in") }}</li>
      <li>{{ Npapi-section("Drawing and Event Handling", "Setting the Window") }}</li>
      <li>{{ Npapi-section("Drawing and Event Handling", "Getting Information") }}</li>
    </ul>
  </li>
  <li>{{ Npapi-section("Drawing and Event Handling", "Windowed Plug-ins") }}
    <ul>
      <li>{{ Npapi-section("Drawing and Event Handling", "Mac OS") }}</li>
      <li>{{ Npapi-section("Drawing and Event Handling", "Windows") }}</li>
      <li>{{ Npapi-section("Drawing and Event Handling", "Unix") }}</li>
      <li>{{ Npapi-section("Drawing and Event Handling", "Event Handling for Windowed Plug-ins") }}</li>
    </ul>
  </li>
  <li>{{ Npapi-section("Drawing and Event Handling", "Windowless Plug-ins") }}
    <ul>
      <li>{{ Npapi-section("Drawing and Event Handling", "Specifying That a Plug-in Is Windowless") }}</li>
      <li>{{ Npapi-section("Drawing and Event Handling", "Invalidating the Drawing Area") }}</li>
      <li>{{ Npapi-section("Drawing and Event Handling", "Forcing a Paint Message") }}</li>
      <li>{{ Npapi-section("Drawing and Event Handling", "Making a Plug-in Opaque") }}</li>
      <li>{{ Npapi-section("Drawing and Event Handling", "Making a Plug-in Transparent") }}</li>
      <li>{{ Npapi-section("Drawing and Event Handling", "Creating Pop-up Menus and Dialog Boxes") }}</li>
      <li>{{ Npapi-section("Drawing and Event Handling", "Event Handling for Windowless Plug-ins") }}</li>
    </ul>
  </li>
</ul>
<h3 id="Npapi-pageStreams" name="Npapi-pageStreams">{{ Npapi-page("Streams") }}</h3>
<ul>
  <li>{{ Npapi-section("Streams", "Receiving a Stream") }}</li>
  <li>{{ Npapi-section("Streams", "Telling the Plug-in When a Stream Is Created") }}</li>
  <li>{{ Npapi-section("Streams", "Telling the Plug-in When a Stream Is Deleted") }}</li>
  <li>{{ Npapi-section("Streams", "Finding Out How Much Data the Plug-in Can Accept") }}</li>
  <li>{{ Npapi-section("Streams", "Writing the Stream to the Plug-in") }}</li>
  <li>{{ Npapi-section("Streams", "Sending the Stream in Random-Access Mode") }}</li>
  <li>{{ Npapi-section("Streams", "Sending the Stream in File Mode") }}</li>
  <li>{{ Npapi-section("Streams", "Sending a Stream") }}</li>
  <li>{{ Npapi-section("Streams", "Creating a Stream") }}</li>
  <li>{{ Npapi-section("Streams", "Pushing Data into the Stream") }}</li>
  <li>{{ Npapi-section("Streams", "Deleting the Stream") }}</li>
  <li>{{ Npapi-section("Streams", "Example of Sending a Stream") }}</li>
</ul>
<h3 id="Npapi-pageURLs" name="Npapi-pageURLs">{{ Npapi-page("URLs") }}</h3>
<ul>
  <li>{{ Npapi-section("URLs", "Getting URLs") }}
    <ul>
      <li>{{ Npapi-section("URLs", "Getting the URL and Displaying the Page") }}</li>
    </ul>
  </li>
  <li>{{ Npapi-section("URLs", "Posting URLs") }}
    <ul>
      <li>{{ Npapi-section("URLs", "Posting Data to an HTTP Server") }}</li>
      <li>{{ Npapi-section("URLs", "Uploading Files to an FTP Server") }}</li>
      <li>{{ Npapi-section("URLs", "Sending Mail") }}</li>
    </ul>
  </li>
</ul>
<h3 id="Npapi-pageMemory" name="Npapi-pageMemory">{{ Npapi-page("Memory") }}</h3>
<ul>
  <li>{{ Npapi-section("Memory", "Allocating and freeing memory") }}
    <ul>
      <li>{{ Npapi-section("Memory", "Mac OS") }}</li>
    </ul>
  </li>
  <li>{{ Npapi-section("Memory", "Flushing memory (Mac OS only)") }}</li>
</ul>
<h3 id="Npapi-pageVersion.2C_UI.2C_and_Status_Information" name="Npapi-pageVersion.2C_UI.2C_and_Status_Information">{{ Npapi-page("Version, UI, and Status Information") }}</h3>
<ul>
  <li>{{ Npapi-section("Version, UI, and Status Information", "Displaying a Status Line Message") }}</li>
  <li>{{ Npapi-section("Version, UI, and Status Information", "Getting Agent Information") }}</li>
  <li>{{ Npapi-section("Version, UI, and Status Information", "Getting the Current Version") }}</li>
  <li>{{ Npapi-section("Version, UI, and Status Information", "Finding Out if a Feature Exists") }}</li>
  <li>{{ Npapi-section("Version, UI, and Status Information", "Reloading a Plug-in") }}</li>
</ul>
<h3 id="Npapi-pagePlug-in_Side_Plug-in_API" name="Npapi-pagePlug-in_Side_Plug-in_API">{{ Npapi-page("Plug-in Side Plug-in API") }}</h3>
<p>This chapter describes methods in the plug-in API that are available from the plug-in object. The names of all of these methods begin with <code>NPP_</code> to indicate that they are implemented by the plug-in and called by the browser. For an overview of how these two sides of the plug-in API interact, see the {{ Npapi-section("Plug-in Basics", "How Plug-ins Work") }} and {{ Npapi-section("Plug-in Basics", "Overview of Plug-in Structure") }} sections in the introduction.</p>
<ul>
  <li>{{ Npapi("NPP_Destroy") }}</li>
  <li>{{ Npapi("NPP_DestroyStream") }}</li>
  <li>{{ Npapi("NPP_GetValue") }}</li>
  <li>{{ Npapi("NP_GetValue") }}</li>
  <li>{{ Npapi("NPP_HandleEvent") }}</li>
  <li>{{ Npapi("NP_Initialize") }}</li>
  <li>{{ Npapi("NPP_New") }}</li>
  <li>{{ Npapi("NPP_NewStream") }}</li>
  <li>{{ Npapi("NPP_Print") }}</li>
  <li>{{ Npapi("NPP_SetValue") }}</li>
  <li>{{ Npapi("NPP_SetWindow") }}</li>
  <li>{{ Npapi("NP_Shutdown") }}</li>
  <li>{{ Npapi("NPP_StreamAsFile") }}</li>
  <li>{{ Npapi("NPP_URLNotify") }}</li>
  <li>{{ Npapi("NPP_Write") }}</li>
  <li>{{ Npapi("NPP_WriteReady") }}</li>
</ul>
<h3 id="Npapi-pageBrowser_Side_Plug-in_API" name="Npapi-pageBrowser_Side_Plug-in_API">{{ Npapi-page("Browser Side Plug-in API") }}</h3>
<p>{{ page("en-US/docs/Gecko_Plugin_API_Reference/Browser_Side_Plug-in_API") }}</p>
<h3 id="Npapi-pageScripting_plugins" name="Npapi-pageScripting_plugins">{{ Npapi-page("Scripting plugins") }}</h3>
<ul>
  <li>{{ Npapi-section("Scripting plugins", "How the DOM handles scripting") }}</li>
  <li>{{ Npapi-section("Scripting plugins", "Threading model") }}</li>
  <li>{{ Npapi-section("Scripting plugins", "Security model") }}</li>
  <li>{{ Npapi-section("Scripting plugins", "What\'s in the plugin code?") }}</li>
  <li>{{ Npapi-section("Scripting plugins", "Accessing browser objects from a plugin") }}</li>
  <li>{{ Npapi-section("Scripting plugins", "How to call plugin native methods") }}</li>
  <li>{{ Npapi-section("Scripting plugins", "The API extensions") }}
    <ul>
      <li>{{ Npapi("NPString") }}</li>
      <li>{{ Npapi("NPVariant") }}
        <ul>
          <li>{{ Funcref("NPN_ReleaseVariantValue") }}</li>
          <li>{{ Funcref("NPN_GetStringIdentifier") }}</li>
          <li>{{ Funcref("NPN_GetStringIdentifiers") }}</li>
          <li>{{ Funcref("NPN_GetIntIdentifier") }}</li>
          <li>{{ Funcref("NPN_IdentifierIsString") }}</li>
          <li>{{ Funcref("NPN_UTF8FromIdentifier") }}</li>
          <li>{{ Funcref("NPN_IntFromIdentifier") }}</li>
        </ul>
      </li>
      <li>{{ Npapi("NPObject") }}
        <ul>
          <li>{{ Funcref("NPN_CreateObject") }}</li>
          <li>{{ Funcref("NPN_RetainObject") }}</li>
          <li>{{ Funcref("NPN_ReleaseObject") }}</li>
          <li>{{ Funcref("NPN_Invoke") }}</li>
          <li>{{ Funcref("NPN_InvokeDefault") }}</li>
          <li>{{ Funcref("NPN_Evaluate") }}</li>
          <li>{{ Funcref("NPN_GetProperty") }}</li>
          <li>{{ Funcref("NPN_SetProperty") }}</li>
          <li>{{ Funcref("NPN_RemoveProperty") }}</li>
          <li>{{ Funcref("NPN_HasProperty") }}</li>
          <li>{{ Funcref("NPN_HasMethod") }}</li>
          <li>{{ Funcref("NPN_SetException") }}</li>
        </ul>
      </li>
      <li>{{ Npapi("NPClass") }}</li>
    </ul>
  </li>
</ul>
<h3 id="Npapi-pageStructures" name="Npapi-pageStructures">{{ Npapi-page("Structures") }}</h3>
<ul>
  <li>{{ Npapi("NPAnyCallbackStruct") }}</li>
  <li>{{ Npapi("NPByteRange") }}</li>
  <li>{{ Npapi("NPEmbedPrint") }}</li>
  <li>{{ Npapi("NPEvent") }}</li>
  <li>{{ Npapi("NPFullPrint") }}</li>
  <li>{{ Npapi("NPP") }}</li>
  <li>{{ Npapi("NP_Port") }}</li>
  <li>{{ Npapi("NPPrint") }}</li>
  <li>{{ Npapi("NPPrintCallbackStruct") }}</li>
  <li>{{ Npapi("NPRect") }}</li>
  <li>{{ Npapi("NPRegion") }}</li>
  <li>{{ Npapi("NPSavedData") }}</li>
  <li>{{ Npapi("NPSetWindowCallbackStruct") }}</li>
  <li>{{ Npapi("NPStream") }}</li>
  <li>{{ Npapi("NPWindow") }}</li>
</ul>
<h3 id="Npapi-pageConstants" name="Npapi-pageConstants">{{ Npapi-page("Constants") }}</h3>
<ul>
  <li>{{ Npapi-section("Constants", "Error Codes") }}</li>
  <li>{{ Npapi-section("Constants", "Result Codes") }}</li>
  <li>{{ Npapi-section("Constants", "Plug-in Version Constants") }}</li>
  <li>{{ Npapi-section("Constants", "Version Feature Constants") }}</li>
</ul>
<h3 id="External_Resources">External Resources</h3>
<ul>
  <li><a href="/en/Plugins/External_resources_for_plugin_creation" title="https://developer.mozilla.org/en/Plugins/External_resources_for_plugin_creation">External projects and articles for plugin creation</a></li>
</ul>
<div class="originaldocinfo">
  <h3 id="Original_Document_Information">Original Document Information</h3>
  <ul>
    <li>Copyright Information: Netscape Communication</li>
  </ul>
</div>
<p>{{ languages( {"de": "de/Gecko_Plugin_API_Referenz", "ja": "ja/Gecko_Plugin_API_Reference", "fr": "fr/Documentation_API_Greffons_Gecko", "pl": "pl/Dokumentacja_wtyczek_Gecko" } ) }}</p>
恢复到这个版本