写于20080619 11:40 AM
我的 ThickBox 版本号 3.1
言归正转,先晕一下.
今天碰到个郁闷之事,就是ThickBox处于IFrame中时点击里面的链接只能覆盖掉IFrame部份,不能全屏覆盖.
俺是左思右想的,终于找到了解决办法,而且是一劳永逸哟.
分两个步骤
第一步:
打开 thickbox.js 文件,找到 function tb_init(domChunk) 这个函数,
将其中的
tb_show(t,a,g);
替换成下面这几行
//——————————————//Jack add begin
var queryString = a.replace(/^[^\?]+\??/,”);
var params = tb_parseQuery( queryString );
if(queryString.indexOf(‘TB_iniframe’) != -1) //检测是否有TB_iniframe参数
{
if (params[‘TB_iniframe’] == “true”)
{
top.tb_show(t,a,g);
}
else
{
tb_show(t,a,g);
}
}
else
{
tb_show(t,a,g);
}
//——————————————//Jack add end
哈哈,这样我们就自定义了一个 叫 TB_iniframe 的参数,现在到被嵌入到 IFrame 的thickbox 里稍稍修改一下链接将其改成 <a href=”http://www.163.com/?height=85&width=250&modal=true&TB_iniframe=true” class=”thickbox” title=”修改”> 类似这种就行了,看到后面的 TB_iniframe 了吧,就是那东西了,现在试试吧.什么还不行??呵呵忘了告诉大家了还有第2步没做,其实第二步已经很简单了,就是在最顶层的网页中,也就是那个top网页里面一定要引入 thickbox的相关文件.
第二步:
类似的在head处加入这两行
<link href=”/scripts/thickbox/thickbox.css” rel=”stylesheet” type=”text/css” media=”all” />
<script src=”/scripts/thickbox/thickbox.js” type=”text/javascript”></script>
注意了:本来的那个IFrame文件里也要加上面这两行哟,不能只加一处的.
哈哈,现在肯定已经可以了,要是还不行那就要充分怀疑一下自己的人品了哟!!!
收 工