2016-08-31 2 views
0

Итак, я надеялся, что вы, ребята, можете найти здесь логику?window.opener.document access denied?

Итак, после небольшого поиска всех, что я обнаружил, был доступ к файлам с ошибкой для окна window.opener, но для меня это кажется чем-то другим. Потому что я могу получить доступ к этому и некоторым его свойствам, например, «закрытым».

я должен делать что-то здесь не так ...

Мой код:

Функция, которая открывает его (в теге сценария на родительской странице)

function openPopup(objectID) { 
     var webpagina = "Fotos.aspx"; 
     var param = "objectid=" + objectID + "&edit=true"; 
     var naam = "Fotos"; 
     var height = 500; 
     var width = 300; 
     var top = 250; 
     var left = 400; 
     var scroll = "Yes"; 
     var resize = "Yes"; 

     var newhref = webpagina + "?" + param; 

     var popupwindow = window.open(newhref, naam, "toolbar=yes,titlebar=no,location=no,directories=no,status=no,menubar=no,scrollbars=" + scroll + ",resizable=" + resize + ",width=" + width + ",height=" + height + ",top=" + top + ",left=" + left); 
     popupwindow.opener = window; 
     popupwindow.focus(); 
    } 

Функция OnLoad на открытой странице:

window.onload = function() { 
     var isclosed = window.opener.closed; //false 
     var secretfield = window.opener.document.getElementById('scrtFoto'); 
    }; 

Отказано в доступе к документу, но не t он закрылся, что неверно. Это так странно, любая помощь ценится!

Заранее благодарен!

ответ

0

Вам не нужно устанавливать свойство window.opener, оно автоматически устанавливается при открытии всплывающего окна. Возможность установки вручную может представлять угрозу безопасности.

+0

Я знаю, я просто тестировал некоторые вещи, даже если это не работает;) – Firenter

0

Что вам нужно, это contentWindow.

window.opener.contentWindow. document.getElementById('scrtFoto');