Обновление iframe
есть iframe в который загружаются странички! При обновлении главной страницы В iframe всегда загружается начальная страница, как средствами js сделать что бы обновлялась текущая загруженная страница?
|
При загрузке новой странички заносите адрес в куки. А при загрузке главной его оттуда читайте.
|
не могли показать какой скрипт это делает, потому что я в js новичок
|
Ну, скрипт вам надо писать самим, я ж не знаю, как у вас странички грузятся. А функции для работы с куками есть тут:
http://javascript.ru/unsorted/top-10...e-deletecookie |
мне хром пишет, что низя так делать. так можно делать только со сраницами со своего сайта
политика безопасности |
Цитата:
window.location.href = top.location.href; |
Ну я так поняла, что странички уже подгружаются? Надо только запомнить последнюю?
|
да, вот код странички
<title>Untitled Document</title> <script type="text/javascript"> function frameFitting() { document.getElementById('demo_frame').height = document.getElementById('demo_frame').contentWindo w.document.documentElement.scrollHeight; } </script> </head> <body><a href="str1.html" class="lvl1" target="demo_frame" title="Governance">str1</a> <a href="str2.html" class="lvl1" title="Info" target="demo_frame" >str2</a><br/> <div style="height:100%"> <div style="margin-left:201px; margin-right:196px; background-color:#996600; height:auto; "> <iframe style="width:600px; ; margin:10px; " id="demo_frame" onload="frameFitting()" scrolling="no" frameborder="0" marginheight="0" ></iframe> </div> <div style="background-color:#666666; ">Niz Site</div> </div> </body> </html> |
window.location.href = top.location.href я это вставил тоже самое получилось
|
В скрипт надо добавить:
// возвращает cookie если есть или undefined function getCookie(name) { var matches = document.cookie.match(new RegExp( "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" )) return matches ? decodeURIComponent(matches[1]) : undefined } // уcтанавливает cookie function setCookie(name, value, props) { props = props || {} var exp = props.expires if (typeof exp == "number" && exp) { var d = new Date() d.setTime(d.getTime() + exp*1000) exp = props.expires = d } if(exp && exp.toUTCString) { props.expires = exp.toUTCString() } value = encodeURIComponent(value) var updatedCookie = name + "=" + value for(var propName in props){ updatedCookie += "; " + propName var propValue = props[propName] if(propValue !== true){ updatedCookie += "=" + propValue } } document.cookie = updatedCookie } // удаляет cookie function deleteCookie(name) { setCookie(name, null, { expires: -1 }) } function ifr_last() { var adr = getCookie('adr'); if (adr) document.getElementById('demo_frame').src = adr; } и изменить BODY и ссылки: <body onload="ifr_last()"> <a href="str1.html" class="lvl1" target="demo_frame" title="Governance" onclick="setCookie('adr', 'str1.html')">str1</a> <a href="str2.html" class="lvl1" title="Info" target="demo_frame" onclick="setCookie('adr', 'str2.html')">str2</a> Кстати, вы там в IFRAME не пропустили атрибут случайно: name="demo_frame" |
Часовой пояс GMT +3, время: 18:33. |