用js控制a标签href属性并实现跳转

本文介绍了一种解决因JavaScript控制的页面跳转导致HttpContext.Current.Request.UrlReferrer属性失效的方法。通过调整跳转逻辑,确保了页面基类中OnInit事件能正确判断用户是否首次访问网站。

由于项目改动,主要由于页面基类中重写OnInit()事件中添加是否首次访问网站:

[c-sharp] view plain copy
  1. //检查是否首次访问本网站  
  2. if (HttpContext.Current.Request.UrlReferrer == null)  
  3. {  
  4.     // Code...  
  5. }  

 

原先使用的js控制的语句跳转使HttpContext.Current.Request.UrlReferrer失效,导致错误

因此修改原跳转代码:

[javascript] view plain copy
  1. function upOrDown(f)  
  2. {  
  3.     function callbackFun(data)  
  4.     {  
  5.        //成功  
  6.         if(data > 0)  
  7.         {  
  8.             //location.href="Show_Blog.aspx?blogid=" + data;   
  9.             //获取<a>标签对象  
  10.             var a = document.getElementById("blogShow" + f);  
  11.             //指定<a>标签的href  
  12.             a.href = "Show_Blog.aspx?blogid=" + data;  
  13.             //取消<a>标签原先的onclick事件,使<a>标签点击后通过href跳转(因为无法用js跳转)^-^  
  14.             a.setAttribute("onclick",'');  
  15.             //激发标签点击事件OVER  
  16.             a.click("return false");  
  17.         }  
  18.         else  
  19.         {  
  20.             alert("<%=GetLocalResourceObject("js_show_noInfo")%>");  
  21.         }  
  22.     };  
  23.       
  24.     //此实为Query框架$.Ajax()方法的马甲^-^  
  25.     LoadAjax("/Commonality/blog/blog.ashx?action=upordownblog",{uid:<%= this.uid %>,blogid:<%= this.blogid %>,myRight:<%= this.myRight %>,flag:f},callbackFun);  
  26. }  

 

[xhtml] view plain copy
  1. <a href="javascript:void(0)" mce_href="javascript:void(0)" id="blogShow1" onclick="upOrDown(1);return false;"><%=GetLocalResourceObject("ui_show_upper")%></a> 
### 关于HTML `<a>`标签的`href`属性 在HTML中,`<a>`标签用于定义超链接。通过设置其`href`属性,可以指定目标资源的URL地址[^2]。 #### `href`属性的基本语法 ```html <a href="URL">可见文字</a> ``` 其中: - `href` 是必需属性,表示要跳转的目标地址。 - URL 可以是一个绝对路径(如 `https://www.example.com`),也可以是相对路径(如 `/about.html` 或 `contact.html`)。 #### 示例代码 以下是几个常见的使用场景: ##### 绝对路径示例 ```html <a href="https://www.google.com">访问Google</a> <!-- 跳转到外部网站 --> ``` ##### 相对路径示例 假设当前页面位于根目录下: ```html <a href="/index.html">返回首页</a> <!-- 访问同一域名下的其他文件 --> ``` ##### 邮件链接示例 可以通过特殊的 `mailto:` 协议创建邮件链接: ```html <a href="mailto:support@example.com">联系我们</a> <!-- 打开默认邮箱客户端预填收件人地址 --> ``` ##### 下载功能示例 如果希望用户点击链接后下载文件而不是打开它,可以在 `href` 中提供可下载文件的路径,配合 `download` 属性一起使用: ```html <a href="example.pdf" download>下载PDF文档</a> <!-- 提供本地或远程文件作为下载项 --> ``` 注意:当未设置 `href` 值时,某些浏览器可能不会正确渲染该链接的行为,同时像 `target="_blank"` 这样的附加特性也无法生效。 #### 特殊情况处理 有时为了实现特定交互效果,比如阻止默认行为或者绑定JavaScript事件处理器,可能会遇到如下写法: ```javascript // JavaScript控制逻辑 document.querySelector('a').addEventListener('click', function(event){ event.preventDefault(); // 阻止实际跳转动作发生 }); ``` 对应HTML部分则可能是这样设计的: ```html <a href="#" onclick="return false;">无操作链接</a> <!-- 不执行任何导航 --> ``` 尽管如此,在现代开发实践中推荐尽可能赋予有意义的目的地而非简单指向 `"#"` 来避免混淆。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值