在firefox中,如果用户在页面加载之前单击下面的链接,它将在新窗口中打开,而不是在厚框对话框中打开。有什么方法可以防止这种情况发生吗?
我无法在IE/safari上执行此操作
Thickbox的工作原理是在链接上设置一个类"thickbox“:
<a href="http://someurl.com" class="thickbox none new" title="Open">Open</a>然后在厚盒子里
//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;
});发布于 2011-05-31 07:09:39
确保以正确的顺序加载各种脚本资源。例如
<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,err指出的那样,Thickbox不再处于活跃的开发中。您可以考虑以下备选方案之一
与Thickbox
来自同一作者的
发布于 2011-05-31 07:04:59
好吧,我不是可以尝试这个的地方,我也不是jQuery的专家,所以要预先警告你,你的里程可能会随着这个答案的不同而不同。
您是否尝试过将初始化放在$(document).load()中而不是$(document).ready()中?如果我没看错的话,the documentation ()是在DOM准备好之后调用的,但不一定是在加载其他脚本等资源之前调用的。我不知道这是不是一个解决方案,但它可能是值得尝试的东西。
https://stackoverflow.com/questions/6181377
复制相似问题