experimental

frame/utils

The frame/utils module provides helper functions for working with platform internals like frames and browsers.

Module exports create function that takes the nsIDOMDocument of a privileged document and creates a browser element in its documentElement:

let { open } = require('sdk/window/utils');
let { create } = require('sdk/frame/utils');
let window = open('data:text/html,Foo');
let frame = create(window.document);

Optionally create can be passed set of options to configure created frame even further.

Execution of scripts may easily be enabled:

let { open } = require('sdk/window/utils');
let { create } = require('sdk/frame/utils');
let window = open('data:text/html,top');
let frame = create(window.document, {
  uri: 'data:text/html,<script>alert("Hello")</script>',
  allowJavascript: true
});

API Reference

Functions

create(document, options)

Creates a XUL browser element in a privileged document.

document : nsIDOMDocument
options : object

Options for the new frame, with the following properties:

type : String

String that defines access type of the document loaded into it. Defaults to "content". For more details and other possible values see documentation on MDN

uri : String

URI of the document to be loaded into the new frame. Defaults to about:blank.

remote : Boolean

If true separate process will be used for this frame, and all the following options are ignored.

allowAuth : Boolean

Whether to allow auth dialogs. Defaults to false.

allowJavascript : Boolean

Whether to allow Javascript execution. Defaults to false.

allowPlugins : Boolean

Whether to allow plugin execution. Defaults to false.

Returns: frame

The new browser element.