(JS) Permission denied при открытии линка в новом окне

Пуп
Дата: 10.07.2006 01:48:46
Браузер ИЕ 6

На одной странице у меня есть линк на другую страницу, если этот линк открывать в новом окне (target="_blank" или target="my_wnd_name") то на открытой странице начинает сыпаться Permission denied на любое обращение типа

document.<bla bla bla>

При чем проблема не исчезает если даже обе страницы лежат на одном хосте. Я в курсе о таком ограничении если из одного фрейма пытаются манипулировать контентом в другом, если контент с другого хоста, но в слуае target="_blank" то что?

Если на целевую страницу заходить напрямую или перегружать исходную в том же окне, никаких проблем не возникает.

Кто нибудь сталкивался с этим глюком ИЕ?
4m@t!c
Дата: 10.07.2006 10:38:35
Скрипт выложите.
----------------------------------------
Артисты не приехали, приехали цыгане
Пуп
Дата: 12.07.2006 01:52:11
Свел проблму до простейшего примера.

Есть некий processor.php который выполняет логику и редиректит на некий файл презентации

<?php
// some logic

header("Location: child.php");
?>

child.php

<html>
<head>
</head>
<body>
<form>
<input type="text" name="myfld" value="">
</form>
<script>
var elm = document.getElementById("myfld");
if(elm)
{
  elm.value = "768";
}
</script>
</body>
</html>

При открытии этого хозяйства через ввод УРЛа http://localhost/processor.php в адресную строку - всё ОК.

Но вот если этот урл дергается с другой веб страницы с target="_blank" или target="my_wnd_name", то на document.getElementById("myfld") вылетает Permission Denied. Причем такой эффект только на домашнем компе, на рабочем все ОК. По сабжу нашел вот что

http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/overview/xpsp2compat.asp
http://msdn.microsoft.com/workshop/author/dhtml/overview/xpsp2compat.asp?frame=true#caching

In previous versions of Windows, some Web pages could access objects cached from another Web site. In Internet Explorer 6 for Windows XP SP2, a reference to an object is no longer accessible when the user browses to a new domain.

For Windows XP SP2, there is a new security context on all scriptable objects so that access to all cached objects is blocked. In addition to blocking access when browsing across domains, access is also blocked when browsing within the same domain (fully qualified domain name). A reference to an object is no longer accessible after the context has changed due to navigation.

Prior to Internet Explorer 5.5, navigations across HTML pages (or across frames) purged instances of MSHTML, which is the MicrosoftHTML parsing and rendering engine. With the Internet Explorer 5.5 native frames architecture, an instance of MSHTML remains across navigations. This introduced a new class of vulnerabilities, because objects could be cached across navigations. If an object can be cached and provide access to the contents of a Web page from another domain, there is a cross-domain security hole.

If your application receives Access Denied errors, you must recache the object before you access it using a script. In the following example, the security context is invalidated when the designMode property is set on a document object.


Но это увы не помогло:( Хотя ветер дует явно отсюда.