Ну, есть более чистый (но не обязательно лучший ) способ сделать это, предполагая, что ваш плагин всегда находится внутри элемента, называемого mainFrame
:
function findPlugin(container)
{
var plugin = null;
if (container.mainFrame != null) {
plugin = container.mainFrame.document.getElementById('slPlugin');
}
if (plugin == null && container.opener != null) {
plugin = findPlugin(container.opener.top);
}
return plugin;
}
function sendRefreshMessage(data)
{
var plugin = findPlugin(window.top);
if (plugin != null) {
try {
// Perform operation on `plugin`.
} catch (err) {
// Please avoid empty catch blocks, they're evil.
}
}
}