2010-07-03 5 views

ответ

4

Свойство window.self является ссылкой назад window и window.location тот же объект, как document.location.

Таким образом, единственная возможность, чтобы это выражение было истинным, заключается в переопределении либо self, либо document.

+0

и окно является свойством глобального объекта, который является ссылкой на глобальный объект. DOM полон тайн ... :) – galambalazs

1

Я полагаю, это зависит от сферы действия. Насколько я знаю, можно (re) определить self в объекте или даже в глобальной области, поэтому в этом случае self.location ничего не укажет. Как это:

//[in global scope] 
var self = new SomeObject; 
alert(self.loction); //undefined 

//in a constructor 
function SomeObject(){ 
    var self = this; 
    alert(self.location); //undefined 
} 

Нижняя линия кажется: не слепо зависят от наличия self в качестве псевдонима для document

0

document.location - строка, а не объект, и он заменен документом.URL.

URL-адрес, перенаправленный сервером, не должен обновлять window.location, , но document.URL всегда показывает путь к текущему документу.

0

Поскольку я не могу опубликовать комментарий, по-видимому self.location == document.location == window.location в рамке. Только top.location отличается. (Протестировано в Firefox 3.6.6 и Internet Explorer 8)

Смежные вопросы