First of all, very nicely explained. :)
We have some sort of work like this in one of my previous projects and I found a Cross Browser way of handling this using
window.postMessage
. I have also written a Tip on that.
See my Tip -
Communication with Cross Domain IFrame - A Cross Browser Solution[
^].
We have used this approach in our project and it worked. So, try to implement this. :)