更改HREF属性以进行右键单击另存为?

时间:2009-04-29 21:39:07

标签: jquery attributes href

所以我有这个......

$(this).attr("href", "http://site.com/images/downloads/wp-" + $(this).parent().parent().attr("id") + "-1024x768.jpg");

问题在于,当我右键单击>将链接另存为...它不会链接到正确的图像。我不确定是否可以这样做,但如果有人可以帮助我,我会非常感激。谢谢!

3 个答案:

答案 0 :(得分:1)

使用Firebug或DOM Inspector等诊断工具检查属性的实际最终值。

对于不同的点击和保存行为,最简单的解释是拦截事件。 “另存为”使用实际的href值,而选择链接则可以截取(键盘,鼠标向下和向上,单击)以将位置设置为其他值。

答案 1 :(得分:0)

您可能会在$(document).ready()中对此进行设置,但您使用$(this)的事实表明您的代码已绑定到onclick的{​​{1}}事件。这可以解释为什么悬停在链接上不显示已更改的href,在访问者点击链接之前,该值不会更改。

您可以将<a>的相关部分确认我的怀疑吗?

如果我是正确的,那么解决方案应该是将href更改为$(document).ready()处理的一部分,而不是当时绑定到onclick事件。

答案 2 :(得分:0)

这是一个想法......将“真实”位置放在php生成的html中

然后添加一个带有“假”位置的额外属性,然后使用jquery在pageload上切换它们。这可以根据情况工作(即,如果用户禁用js并使用“真实”位置,它不会破坏所有内容)

这可以解决您的问题并使最终结果对于几乎所有用户都保持相同:)