上次写了篇调用iframe框架页面的文章,今天继续说一下怎么从一级页面跳转到指定的二级页面中的iframe框架的问题。(
太绕口了)
继续以我做的网站为例子,演示地址是/html/xiaowopifu/index.html。这个二级页面用的是iframe框架,不用的页面都是在框架的调用的,
如图:
这次BOSS又要求把iframe框架内页面的链接放到网站的主页上去,以便能从主页上就能选择不同的QQ工具
我吐血啊,早知道我就不费这个劲把二级页面做成框架了,如果我当初是把每个QQ工具都做成一个静态页面的话,BOSS的这个要求实现起来非常的简单,只要在主页上放上每个QQ工具页面的链接就是了,但是,我现在的QQ工具页面都是通过二级页面来在iframe桢窗口中调用的。。。。
哎,没办法,BOSS交待下来了,只能自己再想办法搞定了。
我想了想,既然QQ工具的页面是通过二级页面调用的,那在主页上的链接都只能先指向二级页面,然后再通过二级页面调用,只要在每个QQ工具的链接后面加上不同的参数,再在二级页面中写一个获取参数的函数,根据不同的参数来在iframe中调用不同的页面。
首先,这是主页上的链接列表
每个QQ工具的链接地址其实都是指向同一个二级页面,只是后面带有不同的参数,例如:
href="html/qqgongjiu/index.html?value=7" target="_blank"
>繁体字转换器
,这里的value=7就是传递给二级页面的参数。
然后在二级页面写一个获取参数值的javascript函数:
function inputvalue(){
var url = document.location.toString();
if(url.indexOf("?") != -1){
var parms = url.substring(url.indexOf("=")+1);
var value = parseInt(parms,10);
}
changes(value);//这个就是调用iframe的函数,在我的上一篇文章中有详细说明
}
这个函数首先取得传递的地址,然后检查后面有没有参数,即检查有没有“?”号后面的字符串,如果有的话,则截取“=”号后面的值,然后把它转换成int数值,最后把这个值传递给调用iframe页面的函数。
再来就是在二级页面的载入之前先检查要调用的页面,即在
标签内加上οnlοad="inputvalue()",这样就能实现从一级页面直接调用二级页面不同的iframe框架页面了。