InlineDisposition Firefox Extension

InlineDisposition

  • Current version: 1.0.2
  • Released on: 15 Apr 2011
  • Compatibility: Firefox 1.5 - 6.0
  • SeaMonkey 2.0 - 2.1
  • addons.mozilla.org: current

InlineDisposition is a Firefox/SeaMonkey extension that changes the disposition type of Content-Disposition response headers from attachment to inline; this prevents servers from forcing the browser to save a file and allows that file to be viewed in the browser, if the browser supports it.

Normally, when the browser receives content from a web server, the browser decides whether to view that content in-browser or handle it externally (either by saving it or opening it in an external application) based on whether the browser is capable of internally handling the content and on the user's actions and preferences. However, through the use of the Content-Disposition HTTP header, websites can override this behavior and force the browser to handle the content externally, even if the browser is capable of displaying the content and even if that is not what the user wanted. By altering the disposition type of Content-Disposition response headers from attachment to inline, InlineDisposition restores user choice.

This does not mean that all content will be displayed inline in the browser: InlineDisposition simply restores the default behavior, so the browser will still save or externally open a file if it cannot view it or if the user requests that it be saved or externally opened. Only server-initiated saves are affected, and the user can still save a file at the user's own discretion.

InlineDisposition was created in response to my encounters with some websites that forced me to save documents and images that I would rather have viewed directly in the browser. I wanted to control when a file is saved and not have that be dictated to me by a website.

You can test InlineDisposition by opening this link.

Note: The server can still deny inline viewing of content by specifying a Content-Type that the browser cannot internally handle.