利用脚本动态改变链接的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);
}
});
}
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);
}
});
}
相关文章推荐
- 利用JS自动打开页面上链接的实现代码
- 《JavaWeb---利用JQuery实现页面无刷新动态改变页面数据》
- 利用JS自动打开页面上链接的实现代码
- 利用JS自动打开页面上链接的实现代码
- 利用override多态原理实现对相似页面的后台代码的抽象,并实现动态GridView动态列数据绑定
- 页面利用setTimeout实现动态刷新
- ASP.NET利用AJAX Extensions控件实现页面的局部动态刷新
- MVC4中AJAX Html页面打开调用后台方法实现动态载入数据库中的数据
- 利用css和js实现页面的标签效果。(标签个数可以动态变化)
- JS实现页面上链接新窗口打开
- 利用JQuery的load函数动态加载其它页面的内容的实现代码
- 后台脚本实现页面在target中的打开,以及target属性
- VS2008 WINFROM 利用WeifenLuo +OUTLOOKBAR +IrisSkin2.dll实现换肤 标签页面 以及子动态加载子菜单的实实例
- 如何实现从服务器端向页面动态加载JavaScript脚本?
- Linux利用inotify-tools的inotifywait实现:当文件夹内容改变时自动执行一段脚本
- 利用字节流将生成的图片输出到js页面,实现动态生成图片
- 动态配置脚本实现之 链接库方法提取
- vue项目在同一页面中引入多个echarts图表 ,并实现封装,自适应和动态数据改变
- JavaScript实现打开链接页面的方式汇总
- 如何实现服务器端下页面动态添加JavaScript脚本