Skip to content

ScramjetFrame

Defined in: typedoc-repos/scramjet/src/controller/frame.ts:44

An abstraction over proxy iframe creation, which lets you manage instances of Scramjet and not have to worry about the proxy internals, since everything you need is already proxified.

const { ScramjetController } = $scramjetLoadController();
const scramjet = new ScramjetController({ prefix: "/scramjet/" });
await scramjet.init();

const frame = scramjet.createFrame();
document.body.appendChild(frame.frame);

// Navigate to a URL
frame.go("https://example.com");

// Listen for proxified navigation events
frame.addEventListener("urlchange", (e) => {
  console.log("URL changed to:", e.url);
});

// Go back
frame.back();
// Go forward
frame.forward();
// Reload page
frame.reload();
  • EventTarget

frame: HTMLIFrameElement

Defined in: typedoc-repos/scramjet/src/controller/frame.ts:54

The frame to be controlled for you under Scramjet.

get client(): ScramjetClient

Defined in: typedoc-repos/scramjet/src/controller/frame.ts:66

Returns the ScramjetClient instance running inside the iframe’s contentWindow.

ScramjetClient

The ScramjetClient instance.


get url(): URL

Defined in: typedoc-repos/scramjet/src/controller/frame.ts:75

Returns the proxified URL.

URL

The proxified URL.

addEventListener<K>(type, listener, options?): void

Defined in: typedoc-repos/scramjet/src/controller/frame.ts:139

Binds event listeners to listen for proxified navigation events in Scramjet.

K extends keyof ScramjetEvents

K

Type of event to listen for.

(event) => void

Event listener to dispatch.

Options for the event listener.

boolean | AddEventListenerOptions

void

// Listen for URL changes
frame.addEventListener("urlchange", (event) => {
  console.log("URL changed:", event.url);
  document.title = event.url; // Update page title
});

// Listen for navigation events
frame.addEventListener("navigate", (event) => {
  console.log("Navigating to:", event.url);
});

EventTarget.addEventListener


back(): void

Defined in: typedoc-repos/scramjet/src/controller/frame.ts:100

Goes backwards in the browser history.

void


dispatchEvent(event): boolean

Defined in: node_modules/.pnpm/[email protected]/node_modules/typescript/lib/lib.dom.d.ts:11575

The dispatchEvent() method of the EventTarget sends an Event to the object, (synchronously) invoking the affected event listeners in the appropriate order.

MDN Reference

Event

boolean

EventTarget.dispatchEvent

dispatchEvent(event): boolean

Defined in: node_modules/.pnpm/[email protected]/node_modules/typescript/lib/lib.webworker.d.ts:4019

The dispatchEvent() method of the EventTarget sends an Event to the object, (synchronously) invoking the affected event listeners in the appropriate order.

MDN Reference

Event

boolean

EventTarget.dispatchEvent


forward(): void

Defined in: typedoc-repos/scramjet/src/controller/frame.ts:107

Goes forward in the browser history.

void


go(url): void

Defined in: typedoc-repos/scramjet/src/controller/frame.ts:89

Navigates the iframe to a new URL under Scramjet.

A real URL to navigate to

string | URL

void

frame.go("https://example.net");

reload(): void

Defined in: typedoc-repos/scramjet/src/controller/frame.ts:114

Reloads the iframe.

void


removeEventListener(type, callback, options?): void

Defined in: node_modules/.pnpm/[email protected]/node_modules/typescript/lib/lib.dom.d.ts:11581

The removeEventListener() method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener() from the target.

MDN Reference

string

EventListenerOrEventListenerObject

boolean | EventListenerOptions

void

EventTarget.removeEventListener

removeEventListener(type, callback, options?): void

Defined in: node_modules/.pnpm/[email protected]/node_modules/typescript/lib/lib.webworker.d.ts:4025

The removeEventListener() method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener() from the target.

MDN Reference

string

EventListenerOrEventListenerObject

boolean | EventListenerOptions

void

EventTarget.removeEventListener