链接在javascript onclick函数能够完成之前重定向页面
Link redirects page before javascript onclick function is able to finish
我有一个链接,可以加载页面并在单击时调用javascript函数。问题是 javascript 函数在页面重定向之前无法完成。有没有办法确保它这样做?
您会注意到在javascript函数中注释掉了一个alert()
,如果我取消注释它,该函数就可以完成。但是,我显然不希望实际发生警报弹出窗口。
这是链接:
<a href="p.php?p=$randString&s=$postCat" onclick="setYSession();">
这是无法及时完成的javascript函数:
function setYSession() {
var YposValue = window.pageYOffset;
$.get('yPosSession.php?yValue=' + YposValue);
//alert(YposValue);
return false;
}
尝试更改onclick
以返回函数的结果:
echo "<a href='p.php?p=$randString&s=$postCat' onclick='return setYSession();'>";
或者显式返回 false:
echo "<a href='p.php?p=$randString&s=$postCat' onclick='setYSession();return false'>";
鉴于您的函数返回false
,无论哪种方式都将停止默认事件行为,即它将完全停止链接导航。然后在函数中,您可以在 Ajax 完成后添加代码以执行导航:
function setYSession() {
var YposValue = window.pageYOffset;
$.get('yPosSession.php?yValue=' + YposValue, function() {
window.location.href = 'p.php?p=$randString&s=$postCat';
});
return false;
}
理想情况下,特别是因为您似乎正在使用 jQuery 进行$.get()
,我会删除内联点击并执行以下操作:
echo "<a href='p.php?p=$randString&s=$postCat' id='myLink'>";
$("#myLink").click(function() {
var YposValue = window.pageYOffset,
myHref = this.href;
$.get('yPosSession.php?yValue=' + YposValue, function() {
window.location.href = myHref;
});
return false;
});
相关文章:
- 通过javascript重定向html传递php变量
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 捕获所有常见类型的重定向、头、元、JavaScript等
- Javascript移动站点重定向问题
- javascript:发送带有音频文件的POST,然后重定向到新页面
- 使用CSS和Javascript重定向-手持设备
- 重定向javascript中的Url
- Servlet仅在单击JavaScript警报消息后重定向
- 登录后重定向,缓存页面问题-Javascript
- 从Ajax脚本重定向Javascript页面
- 重定向Javascript中包含的URL路径
- 重定向javascript,替换url
- 右键单击时重定向Javascript
- 在重定向JavaScript时从URL中删除#
- HTTP重定向-Javascript或Flask
- 使用POST方法重定向javascript页面
- 基于URL的重定向-JavaScript
- 重定向javascript表单
- 这是一个很好的移动重定向javascript吗?或者我会被谷歌封杀
- 如果网页 URL 链接失败,则重定向 Javascript URL