链接点击Javascript加载之前(问题)

时间:2009-12-16 18:10:49

标签: javascript hyperlink loading

我正在使用shadowbox进行一些html / iframe链接,这有效地打开了灯箱中的页面。一切都很好 - 除非在javascript完成加载之前有人点击。

现在,显而易见的答案是不使用链接作为加载影子框的目标。但是如果禁用javascript,这会带来可用性问题。有没有人对如何解决这个问题有任何想法?我正在考虑加载javascript内联,这会在页面加载完成之前停用链接,虽然我不确定我是如何处理的。

欢迎所有想法!

2 个答案:

答案 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>

这样,在加载所有脚本之前,您的网站内容就不可见了。