I'm developing a task pane add-in for Excel. On the home page of the add-in, I use window.open() to open a child browser window for the user to login a 3rd party service and get oauth token to authenticate later calls to the 3rd party web service. On Excel for Windows, iPad, and Excel Online, it behaves consistently so that in the child window, when I store some flags in the window.localStorage, the parent window gets it. However, on Excel for Mac, instead of opening a child browser window, it opens a new tab on the existing full browser. At the end of the login session, when it stores some flag in the window.localStorage, the parent page (i.e., add-in's home page running inside Excel for Mac) can't get it. I guess this is because the browser hosting the add-in inside Excel for Mac and the full browser window.open() opens the 3rd party login page are different processes and they don't share the same localStorage. I tried using window.postMessage() to communicate between the 2 windows and it doesn't work either.
Why window.open() behaves differently on Excel for Mac comparing to other platforms? Could someone recommend a workaround? Thanks!