
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
promise-window
Advanced tools
Lightweight wrapper around window.open() that adds Promise and postMessage support
Lightweight wrapper around window.open() that adds Promise and postMessage support
bower install promise-window --save-dev
npm install promise-window --save-dev
Grab a copy of promise-window (development version).
The simplest way to use PromiseWindow is to use the PromiseWindow.open
convenience method:
/**
* index.html
*/
PromiseWindow.open('http://popup.html').then(
// Success
function(data) {
// data.result == 'awesome' (1)
},
// Error
function(error) {
switch(error) {
case 'closed':
// window has been closed
break;
case 'my-custom-message':
// 'my-custom-message' postMessage has been sent from target URL (2)
break;
}
}
);
/**
* popup.html
*/
// report succees
opener.postMessage({ result: 'awesome' }, location.origin); // (1)
// report error
opener.postMessage({ error: 'my-custom-message' }, location.origin); // (2)
Instantiating the PromiseWindow
prototype gives you more control. The
following example shows how to close the window after 30 seconds.
var promiseWindow = new PromiseWindow('http://popup.html'),
timeout = window.setTimeout(function() {
promiseWindow.close();
}, 30000);
promiseWindow.open().then(
function(data) {
window.clearTimeout(timeout);
// ... (success)
},
function(error) {
window.clearTimeout(timeout);
// ... (error)
}
);
See API Documentation
for more information about the PromiseWindow
prototype.
This library follows Semantic Versioning
Please do! We are always looking to improve this component. Please see our Contribution Guidelines on how to properly submit issues and pull requests.
Alex Mercier © 2015
FAQs
Lightweight wrapper around window.open() that adds Promise and postMessage support
We found that promise-window demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.