有没有办法根据引用页面改变iframe的初始内容?
例如,当直接在地址栏中键入第1页的URL时,“第1页”有一个iframe显示“初始内容1”。如果点击“第2页”上的链接链接到“第1页”,则“第1页”上的框架内容将以“初始内容2”开头。
我希望这是有道理的。
非常感谢斯帕顿。
我刚试过你的想法,但我做不好。现在,我的页面正文中包含以下内容:
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吗?
如果可能的话,我想根据地址栏中键入的URL改变iframe内容。例如,我一直在使用脚本:
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
所以第11页的iframe将包含第12页。
问题是这个脚本适用于Safari和IE,但不适用于FF:(
正如我所说的,任何关于用PHP实现它的提示都将非常棒。