1. function addExtraParam(url, p) {
    2. var index = url.indexOf('?'),
    3. setSearchStr = function(str, p) {
    4. var refes = str.split('&'),
    5. item = null
    6. sp = {}
    7. for (var i = 0; i < refes.length; i++) {
    8. item = refes[i]
    9. var iArr = item.split('=')
    10. if (iArr[0]) {
    11. sp[iArr[0]] = iArr[1]
    12. }
    13. }
    14. return $.param($.extend(sp, p))
    15. }
    16. if (index === -1) {
    17. var arr = url.split('#')
    18. return (
    19. arr[0] +
    20. '?' +
    21. $.param(p) +
    22. (arr[1] && arr[1].length > 0 ? '#' + arr[1] : '')
    23. )
    24. } else {
    25. var arr = url.split('?'),
    26. tem = arr[1]
    27. if (tem && tem !== '') {
    28. var arr3 = tem.split('#'),
    29. search = ''
    30. if (arr3.length > 1) {
    31. return arr[0] + '?' + setSearchStr(arr3[0], p) + '#' + arr3[1]
    32. } else {
    33. return arr[0] + '?' + setSearchStr(arr3[0], p)
    34. }
    35. }
    36. return arr[0]
    37. }
    38. return url
    39. }