Есть ли способ изменить начальное содержимое iframe в зависимости от ссылающейся страницы?
Например, «страница 1» имеет iframe, отображающий «исходное содержимое 1», когда URL-адрес страницы 1 вводится непосредственно в адресной строке. Если щелкнуть ссылку на «странице 2», ссылающуюся на «страницу 1», то содержание iframe на «странице 1» будет начинаться как «начальное содержимое 2».
Надеюсь, это имеет смысл.
спасибо большое splattne.
Я только что попробовал вашу идею, но не могу понять ее правильно. моя страница теперь имеет следующее тело:
if (document.referrer != 'page2.html') {
document.getElementById('prdfrm2').src = 'contenta.html';
}
if (document.referrer != 'page3.html') {
document.getElementById('prdfrm2').src = 'contentb.html';
}
if (document.referrer != 'page4.html') {
document.getElementById('prdfrm2').src = 'contentc.html';
}
else {
document.getElementById('prdfrm2').src = 'contentx.html';
}
Кажется, что, однако, я получаю доступ к родительской странице (прямой, по ссылке на стр. 2,3 или 4) с тем же самым контентом, контент с contentc
- вы можете подумать почему?
Спасибо за помощь, ребята, но у меня все еще есть проблемы. Если бы это можно было сделать «на стороне сервера», это было бы здорово, но у меня очень мало опыта в этом. Кто-нибудь знает, как это сделать в PHP?
Если возможно, я бы хотел изменить содержание iframe в зависимости от URL-адреса, введенного в адресную строку. Например, я использовал скрипт:
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
function gup( name ) {
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else
return results[1];
}
addLoadEvent(function() {
var targetURL = gup("iframe");
document.all.myIframe.src=targetURL;
})
В адресной строке я могу набрать http://mysite.com/page11.html?&iframe=page12.html
, чтобы iframe на странице 11 содержал страницу 12.
Вероятно, этот скрипт работает в Safari и IE, но не в FF: (
Как я уже говорил, любые советы по работе на PHP были бы фантастическими.