Как получить доступ к объекту окна из объекта документа - PullRequest
2 голосов
/ 27 сентября 2011

Возможно ли получить доступ к объекту окна непосредственно из объекта документа в Javascript?

Например:

// window.frames[0] returns the document object of the first frame or iframe found on the page
myFunc(window.frames[0]);

function myFunc(doc) {
  // I want to do something along these lines:
  var wnd = doc.getWindow();
  alert("Found frame: " + wnd.name);
  for (var i=0; i<wnd.frames.length; i++) {
    myFunc(wnd.frames[i]);
  }
}

Я не могу использовать jQuery для этого, извините.

1 Ответ

0 голосов
/ 27 сентября 2011

В соответствии с документацией MDN вы уже должны получить окно с window.frames[0]. Если вы хотите фактический документ, вам нужно взять фактический элемент фрейма и копаться в документе.

var firstFrame = document.getElementsByTagName( "iframe" )[ 0 ];
firstFrame.contentWindow;  // The window
firstFrame.contentWindow.document;  // The document

Примечание: я считаю, contentWindow не поддерживается в очень ранних версиях Safari (до 3.0 IIRC)

...