Javascript 缩短显示的URL,保留开头和结尾(Firebug&x27;Net';面板样式)

Javascript 缩短显示的URL,保留开头和结尾(Firebug&x27;Net';面板样式),javascript,url,truncate,Javascript,Url,Truncate,我希望在表中显示URL,同时将其限制为特定长度。作为一个URL,最好保留最有意义的部分,这些部分往往是开头和结尾。在Firebug“Net”面板中查看长URL时可以看到此功能。这是一个快速而肮脏的解决方案,但到目前为止,它对我来说运行良好,可以轻松地根据任何个人偏好进行更新。为了可读性和重用性,它分为两个功能 此函数使用如下所示的短字符串函数。它将URL缩短到小于或等于指定的长度(l),同时保留URL的开头和结尾,并在首选字符(“,”/“,“&”)处截断 这是一个快速而肮脏的解决方案,但到目前为

我希望在表中显示URL,同时将其限制为特定长度。作为一个URL,最好保留最有意义的部分,这些部分往往是开头和结尾。在Firebug“Net”面板中查看长URL时可以看到此功能。

这是一个快速而肮脏的解决方案,但到目前为止,它对我来说运行良好,可以轻松地根据任何个人偏好进行更新。为了可读性和重用性,它分为两个功能

此函数使用如下所示的
短字符串
函数。它将URL缩短到小于或等于指定的长度(l),同时保留URL的开头和结尾,并在首选字符(“,”/“,“&”)处截断


这是一个快速而肮脏的解决方案,但到目前为止,它对我来说一直运行良好,可以轻松地根据个人喜好进行更新。为了可读性和重用性,它分为两个功能

此函数使用如下所示的
短字符串
函数。它将URL缩短到小于或等于指定的长度(l),同时保留URL的开头和结尾,并在首选字符(“,”/“,“&”)处截断


我有一个非常简单的解决方案。我对仪表板页面也有类似的要求:

“我们需要一个URL缩短器函数,该函数返回50个字符的字符串,开头不带http或https,包括32个字符,然后是省略号,最后是15个字符。”

因此,shortUrl函数需要接收长URL,从长URL的长度(与最后一个字符相同)减去15,得到最后15个字符,以得到片段的开始到结束。剪掉http/https开始-我使用了replace(),获取接下来的32个字符-substr(),然后返回新的开始+省略号(…)+结束:

var shortUrl=函数(u){
上界=u形切片(u形长度-15);
ustart=u.replace('http://','').replace('https://','').substr(0,32);
var shorter=ustart+'.'''.'+uend;
警报(较短);
返回时间较短;
}
var longUrl=http://www.somekoolsite.com/subsite/subsubsite/morefolders/andetc/page.php';
短URL(长URL);

//结果:“www.somekoolsite.com/subsite/sub…andetc/page.php”
我有一个非常简单的解决方案。我对仪表板页面也有类似的要求:

“我们需要一个URL缩短器函数,该函数返回50个字符的字符串,开头不带http或https,包括32个字符,然后是省略号,最后是15个字符。”

因此,shortUrl函数需要接收长URL,从长URL的长度(与最后一个字符相同)减去15,得到最后15个字符,以得到片段的开始到结束。剪掉http/https开始-我使用了replace(),获取接下来的32个字符-substr(),然后返回新的开始+省略号(…)+结束:

var shortUrl=函数(u){
上界=u形切片(u形长度-15);
ustart=u.replace('http://','').replace('https://','').substr(0,32);
var shorter=ustart+'.'''.'+uend;
警报(较短);
返回时间较短;
}
var longUrl=http://www.somekoolsite.com/subsite/subsubsite/morefolders/andetc/page.php';
短URL(长URL);

//结果:“www.somekouliste.com/sub/sub…andtc/page.php”
我创建了一种方法,用于url和url编码的本地文件路径

function pathShorten (str, maxLength, removeFilename) {
    var splitter = str.indexOf('/')>-1 ? '/' : "\\",
        tokens = str.split(splitter), 
        removeFilename = !!removeFilename,
        maxLength = maxLength || 25,
        drive = str.indexOf(':')>-1 ? tokens[0] : "",  
        fileName = tokens[tokens.length - 1],
        len = removeFilename ? drive.length  : drive.length + fileName.length,    
        remLen = maxLength - len - 5, // remove the current lenth and also space for 3 dots and 2 slashes
        path, lenA, lenB, pathA, pathB;    
    //remove first and last elements from the array
    tokens.splice(0, 1);
    tokens.splice(tokens.length - 1, 1);
    //recreate our path
    path = tokens.join(splitter);
    //handle the case of an odd length
    lenA = Math.ceil(remLen / 2);
    lenB = Math.floor(remLen / 2);
    //rebuild the path from beginning and end
    pathA = path.substring(0, lenA);
    pathB = path.substring(path.length - lenB);
    path = drive + splitter + pathA + "..." + pathB + splitter ;
    path = path + (removeFilename ? "" : fileName); 
    // console.log(tokens, maxLength, drive, fileName, len, remLen, pathA, pathB);
    return path;
}       
一些例子:

pathShorten("http://ok.some-bookshop.co.uk/books/horror/find.php?q=urge",35,false)
"http://ok.s...orror/find.php?q=urge"

pathShorten("http://ok.some-bookshop.co.uk/books/horror/find.php?q=urge",35,true)
"http://ok.some-book...books/horror/"

pathShorten("file:///C:/Users/johpan/OneDrive/Shared%20favorites/show must go on.mp3",55,false)
"file:///C:/Users/jo...d%20favorites/show must go on.mp3"

pathShorten("file:///C:/Users/johpan/OneDrive/Shared%20favorites/show must go on.mp3",55,true)
"file:///C:/Users/johpan/OneDr...ive/Shared%20favorites/"

我已经创建了一个方法来处理url和url编码的本地文件路径

function pathShorten (str, maxLength, removeFilename) {
    var splitter = str.indexOf('/')>-1 ? '/' : "\\",
        tokens = str.split(splitter), 
        removeFilename = !!removeFilename,
        maxLength = maxLength || 25,
        drive = str.indexOf(':')>-1 ? tokens[0] : "",  
        fileName = tokens[tokens.length - 1],
        len = removeFilename ? drive.length  : drive.length + fileName.length,    
        remLen = maxLength - len - 5, // remove the current lenth and also space for 3 dots and 2 slashes
        path, lenA, lenB, pathA, pathB;    
    //remove first and last elements from the array
    tokens.splice(0, 1);
    tokens.splice(tokens.length - 1, 1);
    //recreate our path
    path = tokens.join(splitter);
    //handle the case of an odd length
    lenA = Math.ceil(remLen / 2);
    lenB = Math.floor(remLen / 2);
    //rebuild the path from beginning and end
    pathA = path.substring(0, lenA);
    pathB = path.substring(path.length - lenB);
    path = drive + splitter + pathA + "..." + pathB + splitter ;
    path = path + (removeFilename ? "" : fileName); 
    // console.log(tokens, maxLength, drive, fileName, len, remLen, pathA, pathB);
    return path;
}       
一些例子:

pathShorten("http://ok.some-bookshop.co.uk/books/horror/find.php?q=urge",35,false)
"http://ok.s...orror/find.php?q=urge"

pathShorten("http://ok.some-bookshop.co.uk/books/horror/find.php?q=urge",35,true)
"http://ok.some-book...books/horror/"

pathShorten("file:///C:/Users/johpan/OneDrive/Shared%20favorites/show must go on.mp3",55,false)
"file:///C:/Users/jo...d%20favorites/show must go on.mp3"

pathShorten("file:///C:/Users/johpan/OneDrive/Shared%20favorites/show must go on.mp3",55,true)
"file:///C:/Users/johpan/OneDr...ive/Shared%20favorites/"
pathShorten("http://ok.some-bookshop.co.uk/books/horror/find.php?q=urge",35,false)
"http://ok.s...orror/find.php?q=urge"

pathShorten("http://ok.some-bookshop.co.uk/books/horror/find.php?q=urge",35,true)
"http://ok.some-book...books/horror/"

pathShorten("file:///C:/Users/johpan/OneDrive/Shared%20favorites/show must go on.mp3",55,false)
"file:///C:/Users/jo...d%20favorites/show must go on.mp3"

pathShorten("file:///C:/Users/johpan/OneDrive/Shared%20favorites/show must go on.mp3",55,true)
"file:///C:/Users/johpan/OneDr...ive/Shared%20favorites/"