|
|
|
|
|
для: dump
(03.08.2010 в 16:13)
| | >1) А с <Frame> тоже должна пройти загрузка через установку src?
Абсолютно то же самое, что и с <IFRAME>
Повторяю - любой ТЕГ (со всеми его свойствами) принадлежит ТЕКУЩЕМУ документу.
А вот document, загруженный в этот тег - может управляться из ТЕКУЩЕГО документа ТОЛЬКО в случае единого происхождения с текущим.
>2)А такие ограничения отсутствуют в пользовательских скриптах(букмарклетах, greesmonkey)?
Что "обезьянка", что HTA - это "совсем другая песня".
Это уже не чистый Javascript - там нет практически никаких ограничений - делай что хочешь. | |
|
|
|
|
|
|
|
для: АЯ
(03.08.2010 в 12:47)
| | Понятно. Но вот тут же появилось два вопроса:
1) А с <Frame> тоже должна пройти загрузка через установку src?
2)А такие ограничения отсутствуют в пользовательских скриптах(букмарклетах, greesmonkey)? | |
|
|
|
|
|
|
|
для: dump
(03.08.2010 в 11:59)
| | IFRAME - это элемент ТЕКУЩЕГО документа.
Все атрибуты/свойства этого IFRAME вполне доступны ТЕКУЩЕМУ документу.
В том числе и атрибут/свойство SRC.
Значение SRC можно прочитать/установить.
Но вот к документу, который загружается в IFRAME, доступ возможен, если только соблюдаются принципы "общего происхождения" - если только документ имеет ТО ЖЕ доменное имя.
Вот Вам пример:
1) изменяем SRC ифрейма на чужой сайт
2) после окончания загрузки узнаём сначала SRC (это - можно), а затем пытаемся узнать document.location.href загруженного документа, который должен иметь ТО ЖЕ значение, что SRC ифрейма (но этого - НЕЛЬЗЯ, ибо документ в ифрейме с другого домена):
<script>var ST = 1;</script>
<body onload="document.getElementById ('myIFR').src = 'http://google.com/'">
<iframe id="myIFR" onload="if (ST) {ST = 0; return} alert (document.getElementById ('myIFR').src); alert (window.frames.myIFR.document.location.href)"></iframe>
</body>
|
| |
|
|
|
|
|
|
|
для: АЯ
(01.08.2010 в 15:13)
| | Так ведь в таком случае получается, что можно средствами JavaScript загрузить в irame другую страницу? | |
|
|
|
|
|
|
|
для: dump
(01.08.2010 в 08:59)
| | Самым прямым образом согласуется.
Имеется доступ к свойствам только ТЕКУЩЕГО документа, в том числе и к свойству document.location.href, которое можно как прочитать (read), так и изменить (write).
Но вот после изменения этого свойства происходит тот самый редирект и в окно браузера грузится новый документ, доступ к свойствам которого из предыдущего невозможен. | |
|
|
|
|
|
|
| Как политика общего происхождения в JavaScript согласуется возможностью осуществлять редиректы? | |
|
|
|
|