Я получаю ту же ошибку при попытке доступа к функциям в iframe, оба документа происходят из одного домена. Моя техника доступа к объекту окна iframe и его функциям была следующей:
// if id for the iframe element is 'context', first make sure
// it's accessible as a property of the main window object
if(! window.context ) window.context = window.frames[0] || null;
if( window.context === null ) alert("The Context screen is not available");
// grab a function from the iframe window and assign to var
var fadeLoader = window.context.fadeLoader; // this is an error in IE
... поэтому, прежде чем я смогу попытаться вызвать функцию, я получаю сообщение об ошибке. Играя в консоли F12, вот что сработало:
// grab a function from the iframe window and assign to var
var fadeLoader = window.context.window.fadeLoader;
// now I can call the function
fadeLoader();
... но теперь я получаю ошибку в Firefox, потому что 'window' не является допустимым свойством элемента iframe в FF. Вместо этого FF использует (правильно) contentWindow. Итак, чтобы сделать эту работу вокруг:
if(! window.context ) window.context = window.frames[0] || null;
if(! window.context.window ) window.context.window = window.context.contentWindow;
var fadeLoader = window.context.window.fadeLoader;
fadeLoader();
Кажется, работает в IE, FireFox, Chrome и Safari.