2011-11-16 34 views
0

我在通过GWT生成的页面中有大量(> 300)链接。每一个都是当前URL的变体,并表示其他操作。有没有办法让一个HTML5锚点元素“懒洋洋地”计算它的href目标?

我最初有自定义小工具与自定义点击行为和自定义上下文菜单。但是,用户要求与他们的标准行为有真正的联系,所以像默认快捷方式和链接上下文菜单一样正常工作。

这种方法的问题是我必须在呈现阶段为每个链接的href建立一个完整的链接,这个链接有严重的性能影响(通过配置文件验证)。

我可以尝试手动优化链接生成,但是我想首先检查是否可能有办法让href属性在用户执行取决于此href的操作后“懒惰地”计算?

+0

我不认为你可以很容易地做你以后。但说过我不明白为什么他们需要在渲染过程中生成。为什么不完全渲染,然后通过并更新所有锚点目标。意味着页面应该很快出现,然后你的链接填充发生,并希望它会在后台和不明显,除非它运行非常缓慢...... – Chris

+0

沿着这些线的另一种选择可能是循环通过一个定时器数组的小块事件。这是一种伪代码线程技术,有时用于Flash应用程序中,用于在初始化时解决挂起问题,没有理由无法在JavaScript中工作。 – Shane

+2

我仍然很难相信生成300个URL并将它们放入href属性需要很长时间。如果你显示你的代码,那么我们可以更好地了解可能做什么 –

回答

0

可以在HTML生成onclick事件的href:

<script> 
function fun(anchor) { 
    anchor.href='http://google.com'; 
} 
</script> 
<a href="#" onclick="fun(this)">link</a> 

但我不现在如果它满足您的需要

+0

这也是我的想法,但是你需要生成一个带有所有300个链接的JS函数,这会遭受同样的问题。但在我的脑海中,生成300个链接不应该花费太多时间。另外,我在jsfiddle上尝试了它,但它不起作用http://jsfiddle.net/mendesjuan/MMBtL/1 –

相关问题