I’m writing a “popout” library (live demo here, source here, and atmosphere link here) and I’m pretty much happy with it, but I’m trying to get it to support all (modern!) browsers. I don’t so much care about old IE, but new IE would be nice to support.
Anyway, if you check out line 35 of my code, you can see that I have to do some wonky stuff for firefox and webkit is easy (which gets chrome and safari). Neither method works for IE though. I just can’t seem to access the DOM node to pass it to Blaze.renderWithData. I can’t put a script into the child that runs on load because then there is no context and I don’t think I could get it to be reactive. I really need access to that DOM node while creating the new window.
Does your library have the ability to remove a template from its current parent, add it to a new window, then do the reverse = “pop back in” ?
I can’t tell from reading the code why it doesn’t work in IE.
If you can create a github issue with detail and help wanted I can take a look. I need something like this for a project I’m working on. I’m interested why there is so much forking in browser logic to handle this.
The answer to your first question is: yes. If you check out the live demo, the top box has an example of just this functionality. If you click on the button that says “Popout State: xxxx”, it will remove the template from the current page and put it in the new one. By default, when that window closes, it will reinsert the template back into the page. This can also be achieved by pressing the button again.
In short, the state of the “Remove” popout can be toggled with the Session variable used to control the state. Check out the documentation here.