Здравствуйте, уважаемые.
Пытаюсь реализовать кроссдоменный xhriframeproxy по
этой схеме.
Создал 3 документа, 2 из них (главный документ и клиент) помещаю на локальный сервер, 1 (серверный документ) - на удаленный.
Вот коды этих документов:
imain.html:
<html>
<head>
<title>Iframe main page</title>
</head>
<body>
<iframe id="ic" name="ic" src="iclient.html" style="width:100%;height:400px"></iframe>
</body>
</html>
iclient.html:
<html>
<head>
<title>Iframe client page</title>
</head>
<body>
<input type="button" onclick="AlertHash();" value="show hash"></input>
<input type="button" onclick="ChangeHash();" value="change hash"></input>
<iframe id="is" name="is" src="http://remotehost/iserver.html" style="width:100%;height:200px"></iframe>
<script>
function AlertHash() {
alert(window.name + '\r\n' + document.location.hash)
}
function ChangeHash() {
window.top.ic.is.location.hash = Math.random()
}
var hash = document.location.hash.toString()
function CheckHash() {
var newhash = document.location.hash.toString()
if (newhash != hash) {
alert(window.name + '\r\nhash changed:\r\n' + hash + '\r\n' + newhash)
hash = newhash
}
}
setInterval(CheckHash, 100)
</script>
</body>
</html>
iserver.html:
<html>
<head>
<title>Iframe server page</title>
</head>
<body>
<input type="button" onclick="AlertHash();" value="show hash"></input>
<input type="button" onclick="ChangeHash();" value="change hash"></input>
<script>
function AlertHash() {
alert(window.name + '\r\n' + document.location.hash)
}
function ChangeHash() {
window.top.ic.location.hash = Math.random()
}
var hash = document.location.hash.toString()
function CheckHash() {
var newhash = document.location.hash.toString()
if (newhash != hash) {
alert(window.name + '\r\nhash changed:\r\n' + hash + '\r\n' + newhash)
hash = newhash
}
}
setInterval(CheckHash, 100)
</script>
</body>
</html>
Проблема в следующем: hash не меняется. Ошибка говорит о запрете доступа, хотя при использовании iframe-ов такой проблемы быть не должно.
Пожалуйста, помогите решить данную проблему.