您好我正在使用以下功能在点击href时转到代理页面。首次点击到href它工作正常。但第二次点击代码不会调用window.event.returnValue = true;声明,如果我使用调试器,它按预期工作。
function CallDownloadProxy(url)
{
//debugger;
try
{
window.location = url;
window.event.returnValue=true;
}
catch (err)
{
alert(err.description );
}
}
如果有人知道这个话,请帮助
答案 0 :(得分:0)
返回 false 也会阻止默认操作并适用于每个浏览器。
function CallDownloadProxy(url) {
window.location.href = url;
return false;
}
我想知道你为什么使用JS代替链接。那么“第二次点击”是什么意思?为什么有人需要点击链接两次?
答案 1 :(得分:0)
据我所知,location =“...”和location.href =“...”相当于location.assign(“...”)。这意味着后续的代码行可能会被浏览器评估,但是只要JavaScript发布,浏览器就会卸载您的文档,并加载新的URL,无论您是取消onclick事件还是阻止它冒泡。< / p>
如果您需要可重复的操作,则应将链接定位到另一个框架或其他内容......
我不知道你的问题对于去代理页面(?!)和第一次工作而不是第二次工作意味着什么。什么第二次?如果用户点击回来?如果用户点击刷新?如果用户双击?如果用户明天回来?这是什么意思!! ??
答案 2 :(得分:-1)
在设置returnValue后,你似乎需要做这样的事情:
// e comes from event handler parameter
if (e && e.stopPropagation) //if stopPropagation method supported
e.stopPropagation()
else
event.cancelBubble=true; // for IE
编辑:必须是这种情况
window.event.cancelBubble=true;