utils
The frame/utils module provides helper functions for working with platform
internals like frames and
browsers.
create
Module exports create function that takes nsIDOMDocument of the
privileged document
and creates a browser element in it's documentElement:
let { open } = require('api-utils/window/utils');
let { create } = require('api-utils/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. Following options are supported:
-
typeString that defines access type of the document loaded into it. Defaults to'content'. For more details and other possible values see documentation on MDN -
uriURI of the document to be loaded into created frame. Defaults toabout:blank. -
remoteIftrueseparate process will be used for this frame, also in such case all the following options are ignored. -
allowAuthWhether to allow auth dialogs. Defaults tofalse. -
allowJavascriptWhether to allow Javascript execution. Defaults tofalse. -
allowPluginsWhether to allow plugin execution. Defaults tofalse.
Execution of scripts may easily be enabled:
let { open } = require('api-utils/window/utils');
let { create } = require('api-utils/frame/utils');
let window = open('data:text/html,top');
let frame = create(window.document, {
uri: 'data:text/html,<script>alert("Hello")</script>',
allowJavascript: true
});