我正在使用shadowbox进行一些html / iframe链接,这有效地打开了灯箱中的页面。一切都很好 - 除非在javascript完成加载之前有人点击。
现在,显而易见的答案是不使用链接作为加载影子框的目标。但是如果禁用javascript,这会带来可用性问题。有没有人对如何解决这个问题有任何想法?我正在考虑加载javascript内联,这会在页面加载完成之前停用链接,虽然我不确定我是如何处理的。
欢迎所有想法!
答案 0 :(得分:2)
一般情况下,我认为这是一个非问题,但你不能直接在链接后直接调用shadowbox处理器吗?
即:
.link,.link,.link 脚本 $( “链接”),太极拳()。 /脚本
答案 1 :(得分:0)
您可以将链接定义为
<a id="myLink" href="#" onclick="return false">...</a>
然后在加载javascript后重新分配点击事件处理程序。或者,如果您的链接具有非JavaScript替代方案:
<a id="myLink" href="/path/to/nonJS/alternative.html">...</a>
同样,当您加载JavaScript时,您可以添加单击事件处理程序并覆盖默认操作。
如果要加载所有脚本需要一段时间,您可能会重新考虑是否需要立即加载所有脚本。如果你这样做,那么你可以实现一个加载屏幕(下面的例子使用jQuery,但它没有):
<div id="loading">
Loading...
</div>
<div id="content" style="display: none;">
// Site content...
</div>
// Load your scripts here...
<script type="text/javascript" src="..."></script>
<script type="text/javascript">
$(document).ready(function() {
$('#loading').hide();
$('#content').show();
});
</script>
这样,在加载所有脚本之前,您的网站内容就不可见了。