利用脚本动态改变链接的href,实现动态打开新页面
背景如下:为了根据业务动态打开新的窗口页面,使用window.open又会被一些浏览器拦截,所以通过脚本调用service,然后动态改变a标签的href,实现打开新页面。
HTML中的链接:
<a id="test" <%=_url != "" ? "target='_blank' onclick='setFinish(" + _id+ ",\"" + _url + "\");' href='javascript:'" : "href='javascript:' onclick='doTest(" + _id + ")'"%> title="点击开始测试!" class="test_content">
动态改变a标签的href:(值得注意的是ajax的调用是同步的,因为异步会出现这样的情况:ajax请求发出后,当结果还没返回时,会打开一个空页面,因为此时href还没有改变。再次点击链接后,才会打开真正想要的页面)
function setFinish(id, url) {
$.ajax({
async: false,
type: "POST",
dataType: "json",
url: "/xxx/Service.asmx/SetFinish",
contentType: "application/json;charset=utf-8",
data: $.toJSON({ id: id}),
success: function () {
$("#test").attr("href", url);
}
});
}
出处:http://www.cnblogs.com/KeepMovingblog/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
浙公网安备 33010602011771号