您的位置:首页 > 其它

利用脚本动态改变链接的href,实现动态打开新页面

2012-05-07 23:04 483 查看
背景如下:为了根据业务动态打开新的窗口页面,使用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);
}
});
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: