Our app components based app uses the Asana documented method of rendering a button to close the popup window to signal installation success with the supplied js snippet:
window.opener.postMessage("success", "https://app.asana.com");
window.close();
We continue to have users for whom window opener is null, so they receive the error:
“Cannot read properties of null (reading ‘postMessage’)”
We have them try with different browsers and it doesn’t solve the issue for them. Is there a known workaround for this? In general, various browser extensions and settings seem to break this ‘signal success by closing a popup window’ mechanism, so if there’s an alternate mechanism we’d be happy to switch to it. Thx!
1 Like
Hi @pmatern,
Are you calling it within window.onload?
window.onload = function () {
window.opener.postMessage("success", "https://app.asana.com");
window.close();
};
1 Like
Hi @Phil_Seeman!
We’re actually using that snippet as the body of a function used as the click handler of a button:
Click here to finish the integration
Looks like the forum at my code snippet
but you get the idea
I don’t know why window.opener
wouldn’t be available in a click handler, but I’d suggest you try it in the onload
per my example - not to use as a solution, but just to confirm that it works there and then you can focus on why it’s null in the handler. If it doesn’t work in the onload
then something else very odd is going on.
It turns out this issue is cropping up with folks using the Asana desktop app. Redirecting folks to add the app via the web circumvents the issue.
1 Like
Ahhh, OK, thanks @pmatern for posting that update - good to know for the future!