经常在谷歌搜索,遇到网页无法打开,然后就停留在比如:http://www.google.com.hk/search?newwindow=1&safe=strict&site=&source=hp&q=facebook&btnK=Google+%E6%90%9C%E7%B4%A2
这个页面就无法打开了,因为搜索了连接url包括某些关键字 或者 搜索的关键字 被 * 给屏蔽掉的。此时谷歌 也暂时无法再使用了。
对某些d'ang ‘pai的行为感到太气愤且无奈了。
比如 停留的URL 是:
上面的连接很正常,查找资料而已,却打不开,间歇性的,偶尔可以打开,完全没有非法内容。
这个连接包括了 blogspot.com 所以直接打不开【如果协议改成https,那么就不会停留在这里了,直接是目标URL的网页无法打开】。
那么分析下 有个url的 参数 后面就是目标的网页,就是被URL编码了,所以为了方面,写了个js脚本 来解析。
//js获得url参数?v1
javascript:/* From http://www.cnblogs.com/QiuYun/archive/2007/02/02/638100.html */function GetUrlParms() { var args=new Object(); var query=location.search.substring(1);/*获取查询串 */ var pairs=query.split("&");/*在逗号处断开 */ for(var i=0;i<pairs.length;i++) { var pos=pairs[i].indexOf('=');/*查找name=value */ if(pos==-1) continue;/*如果没有找到就跳过 */ var argname=pairs[i].substring(0,pos);/*提取name */ var value=pairs[i].substring(pos+1);/*提取value */ args[argname]=unescape(value);/*存为属性 */ } return args;};var args = new Object();args = GetUrlParms();var a=document.createElement("h1");a.setAttribute("style","border:2px solid green;background-color:white;display:block;position:absolute;z-index:9999;width:800px;height:100px;top:50px;margin:0 auto;");a.innerHTML="<a href='"+args['url']+"'>"+args['url']+"</a>";document.body.appendChild(a);return false;
拖到浏览器的书签,我的是在chrome下新建立的书签,输入的内容。这一版不太好,获取的是location的字符串,不能自定义,所以改动了下:
//js获得url参数?v2
javascript:/****** From http://www.cnblogs.com/QiuYun/archive/2007/02/02/638100.html ******/function GetUrlParms(str) { var args=new Object(); var query;if(str==undefined){query=location.search.substring(1);/*获得?号后面的内容*/}else{query=str.split("?");query=query[1];}/*获取查询串 =>DEBUG: alert("query="+query); */var pairs=query.split("&");/*在逗号处断开 */ for(var i=0;i<pairs.length;i++) { var pos=pairs[i].indexOf('=');/*查找name=value */ if(pos==-1) continue;/*如果没有找到就跳过 */ var argname=pairs[i].substring(0,pos);/*提取name */ var value=pairs[i].substring(pos+1);/*提取value */ args[argname]=unescape(value);/*存为属性 */ } return args;};/************Main***********/var a=prompt("请输入要获得URL的链接:");if(a==null){return false;}var args = new Object();args = GetUrlParms(a);prompt("你可以复制了",args['url']);return false;
这样可以点击此书签,将复制的URL 输入,回车,复制获得的URL路径。打开新的浏览器标签 即可。其实可以把 url 也加入到 prompt里面,可以设置个默认的值。
-------------------------
不知道为什么google谷歌chrome的这个页面无法获取到真实的URL,只可以获取window.location.href="data:text/html,chromewebdata" ,这个页面如何通过js获取真实URL呢?