Thickbox firefox问题

时间:2011-05-30 22:49:40

标签: jquery firefox thickbox

在firefox中,如果用户在页面加载之前单击以下链接,则会在新窗口而不是在thickbox对话框中打开。有什么方法可以防止这种情况吗?

我无法在IE / safari上实现这一点

Thickbox的工作原理是在链接上设置“thickbox”类:

<a href="http://someurl.com" class="thickbox none new" title="Open">Open</a>

然后在thickbox

//on page load call tb_init
$(document).ready(function(){   
    tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
    imgLoader = new Image();// preload image
    imgLoader.src = tb_pathToImage;
});

2 个答案:

答案 0 :(得分:0)

好吧,我不是我可以尝试这个的地方,而且我不是jQuery的专家,所以要预先警告你的里程可能因这个答案而有所不同。

您是否尝试过初始化$(document).load()而不是$(document).ready()?如果我正确读取the documentation,则在DOM准备好之后调用ready(),但不一定在加载其他脚本之类的资源之前调用ready()。我不知道这是否是一个解决方案,但可能需要尝试。

答案 1 :(得分:0)

确保以正确的顺序加载各种脚本资源。例如

<script type="text/javascript" src="path/to/jquery.js"></script>
<script type="text/javascript" src="path/to/thickbox.js"></script>
<script type="text/javascript">
    jQuery(function($) {
        tb_init(...);
        // etc
    });
</script>

这可以是<head>或最好是在结束</body>标记之前。

正如Pointy,呃,指出,Thickbox不再处于积极发展阶段。您可以考虑以下替代方案之一