URL地址中使用中文作为参数 js如何获取中文值(导航自动切换样式时)

在实现导航自动切换样式时,遇到URL地址包含中文参数导致的问题。当链接如'/index/type/新闻'时,浏览器地址显示正确,但通过变量获取的URL字符串与浏览器地址不一致。通过使用JavaScript的decodeURI()函数处理URL字符串,成功解决了中文参数识别问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天做一个导航自动选中时遇到的问题,情况如下:


链接地址为<a href="/index/type/新闻">...</a>

浏览器地址栏显示链接为"xxxxx/index/type/新闻"

               $(function(){//导航选中样式
			var urlstr = location.href;
			$("#sidebarnav a").each(function () {
				if (urlstr.indexOf($(this).attr('href')) > -1&&$(this).attr('href')!='') {	
					$(this).parent().addClass('active');
				}else{
					$(this).parent().removeClass('active');
				}
			});
		});


运行失败后检查,发现【urlstr】值与浏览器显示地址不一致,将 【urlstr】使用 decodeURI() 函数处理,问题解决。

修改后代码如下:

                $(function(){//导航选中样式
			var urlstr = location.href;
                        var decode_url = decodeURI(urlstr);
			$("#sidebarnav a").each(function () {
				if (decode_url .indexOf($(this).attr('href')) > -1&&$(this).attr('href')!='') {	
					$(this).parent().addClass('active');
				}else{
					$(this).parent().removeClass('active');
				}
			});
		});


gosshGo 语言实现 SSH 通讯的开发包。 示例代码: package main import ( "github.com/dynport/gossh" "log" ) // returns a function of type gossh.Writer func(...interface{}) // MakeLogger just adds a prefix (DEBUG, INFO, ERROR) func MakeLogger(prefix string) gossh.Writer { return func(args ...interface{}) { log.Println((append([]interface{}{prefix}, args...))...) } } func main() { client := gossh.New("some.host", "user") // my default agent authentication is used. use // client.SetPassword("<secret>") // for password authentication client.DebugWriter = MakeLogger("DEBUG") client.InfoWriter = MakeLogger("INFO ") client.ErrorWriter = MakeLogger("ERROR") defer client.Close() rsp, e := client.Execute("uptime") if e != nil { client.ErrorWriter(e.Error()) } client.InfoWriter(rsp.String()) rsp, e = client.Execute("echo -n $(cat /proc/loadavg); cat /does/not/exists") if e != nil { client.ErrorWriter(e.Error()) client.ErrorWriter("STDOUT: " rsp.Stdout()) client.ErrorWriter("STDERR: " rsp.Stderr()) } } 运行结果: 2013/08/25 00:31:40 DEBUG connecting some.host 2013/08/25 00:31:41 INFO [EXEC ] uptime 2013/08/25 00:31:41 DEBUG 22:31:41 up 375 days, 10:44, 0 users, load average: 0.09, 0.13, 0.22 2013/08/25 00:31:41 INFO => 0.944143 2013/08/25 00:31:41 INFO map[stdout:72 bytes stderr:0 bytes runtime:0.944202 status:0] 2013/08/25 00:31:41 DEBUG already connected 2013/08/25 00:31:41 INFO [EXEC ] echo -n $(cat /proc/loadavg); cat /does/not/exists 2013/08/25 00:31:41 DEBUG 0.09 0.13 0.22 1/455 23396 2013/08/25 00:31:41 ERROR cat: /does/not/exists 2013/08/25 00:31:41 ERROR : No such file or directory 2013/08/25 00:31:41 INFO => 0.067075 2013/08/25 00:31:41 ERROR Process exited with: 1. Reason was: () 2013/08/25 00:31:41 ERROR STDOUT: 0.09 0.13 0.22 1/455 23396 2013/08/25 00:31:41 ERROR STDERR: cat: /does/not/exists: No such file or directory 标签:gossh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值