Ошибка доступа запрещена в IE6 - PullRequest
2 голосов
/ 29 ноября 2009

Этот код дает мне ошибку в строке 10 в IE6. То есть var ref = ...;

В чем здесь ошибка?

<html>
<head>
 <title>JavaScript Popup Example 3</title>
</head>
<SCRIPT language="JavaScript1.2">
function MyClass()
{
    this.OpenWindow = function()
    {
        var ref = window.open ("http://www.google.com", "mywindow", "location=1,status=1,scrollbars=1,width=100,height=100");
        ref.moveTo(0,0);
    }

}
</SCRIPT>
<body onload="javascript: new MyClass().OpenWindow()">
<H1>JavaScript Popup Example 3</H1>
</body>
</html> 

Сообщение:

A run-time error has occurred. 
Do you wish to debug? 

Line:10
Error: Access is denied

Ответы [ 2 ]

6 голосов
/ 29 ноября 2009

Когда вы открываете окно со страницей из другого домена, вы не получаете ссылку на окно обратно. Переменная ref равна нулю.

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

var r = window.open ('', 'mywindow', 'location=1,status=1,scrollbars=1,width=100,height=100');
r.moveTo(0,0);
r.location.href = 'http://www.google.com';
0 голосов
/ 29 ноября 2009

проблема здесь - ref.moveTo (0,0); - в большинстве настроек безопасности это действие недоступно

также, javascript: при загрузке просто создает ярлык "javascript"

<html>
<head>
 <title>JavaScript Popup Example 3</title>
</head>
<SCRIPT language="JavaScript">
function MyClass()
{
    this.OpenWindow = function()
    {
        var ref = window.open("http://www.google.com", "mywindow", "location=1,status=1,scrollbars=1,width=100,height=100");
        ref.moveTo(0,0);
    }

}
</SCRIPT>
<body onload="new MyClass().OpenWindow()">
<H1>JavaScript Popup Example 3</H1>
</body>
</html>
...