Обновление 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" |
нет там не нужно имя, там есть id!!!
|
А target="demo_frame" по ID работает?
|
рассыпаюсь в благодарностях, всё супер, именно то, что надо!!! Там имя фрейма не надо там есть id! Ответьте мне пожалуйсто ещё на один вопрос этот скрипт работать будет в пределах только одного домена!!!
|
Да по ID
|
Да нет, почему? Вы же не пытаетесь достать содержимое фрейма, только адрес меняете. Должен и с разными работать.
|
| Часовой пояс GMT +3, время: 17:22. |