根据页面地址拼接页面内部获取到的地址
来源:互联网 发布:mac怎么下载免费软件 编辑:程序博客网 时间:2024/05/20 01:12
根据页面地址拼接页面内部获取到的地址
应用场景:
获取到网页内部的a标签的href值,再根据页面地址将其拼接成完整的url
代码块:
function getFullUrl(parentUrl, subUrl) { var regexp = /^http\:\/\/.*/gi; if (regexp.test(subUrl)) { return subUrl } else { if ('#' == subUrl || '##' == subUrl || '###' == subUrl) { return parentUrl; } var purLen = parentUrl.length; var urLen = subUrl.length; if ('./' == subUrl.slice(0, 2)) { if (parentUrl.slice(-1, purLen) == '/') { return parentUrl.slice(0, -1) + subUrl.slice(1, urLen); } else { return parentUrl.slice(0, parentUrl.lastIndexOf('/') + 1) + subUrl.slice(2, urLen); } } else if ('/' == subUrl.slice(0, 1)) { if (parentUrl.slice(-1, purLen) == '/') { parentUrl = parentUrl.slice(0, -1); purLen -= 1; } var hostStart = parentUrl.indexOf(':') + 3; var schema = parentUrl.slice(0, hostStart); var pUrlList = parentUrl.slice(hostStart, purLen).split('/'); if (subUrl == '/') { return schema + pUrlList.slice(0, 1).join('/') + '/'; } var urList = subUrl.slice(1, urLen).split('/'); var tail_idx = -1; for (u in urList){ try { tail_idx = pUrlList.indexOf(u); } catch (e) { tail_idx = -1; } } if (-1 != tail_idx) { return schema + pUrlList.slice(0, tail_idx).join('/') + '/' + urList.join('/'); } return schema + pUrlList.slice(0, 1).join('/') + '/' + urList.join('/'); } else { if (parentUrl.slice(-1, purLen) == '/') { return parentUrl + subUrl; } else { return parentUrl.slice(0, parentUrl.lastIndexOf('/') + 1) + subUrl; } } }}
阅读全文
0 0
- 根据页面地址拼接页面内部获取到的地址
- jsp页面获取URL地址拼接的参数
- 根据网页地址获取页面内容
- 根据Email地址跳转到相应的邮箱登录页面
- 获取上一个页面的地址
- 获取iframe页面的地址
- jsp页面中同一个超链接地址根据不同的条件而跳到不同的页面
- 获取父页面地址
- asp.net 获取请求页面的地址
- 获取当前页面的url地址
- asp.net 获取上一个页面的地址
- 获取上一个页面的跳转地址
- 获取当前页面的URL地址
- 获取当前页面的地址 JS
- .net获取当前页面的url地址
- jsp获取当前页面的链接地址
- PHP获取当前页面的URL地址
- 获取页面url地址的参数
- 美团,饿了么,百度打印机如何自动打印外卖订单小票(教程)
- 谈谈Java中的ThreadLocal
- HDU 5950 Recursive sequence(矩阵快速幂)
- 进制组合问题(独立验证)[三相组合问题]
- 结构体 和类的区别
- 根据页面地址拼接页面内部获取到的地址
- Hibernate4 hello案例
- input框 placeholder变色,及去掉苹果手机默认input样式,css去除点击阴影
- book1 unit3 after-class reading 2 : How to Talk to Anyone, Anytime, Anywhere
- 领域驱动核心概念总结
- Codeforces Round #430 (Div. 2) D. Vitya and Strange Lesson
- 2017第九届北京空气净化及水净化、北京国际节能减排展览会会刊
- 842C Ilya And The Tree
- 欢迎使用CSDN-markdown编辑器