ya, substring. Anda tidak perlu melakukan Math.min; substring dengan indeks yang lebih panjang dari panjang string berakhir pada panjang aslinya.
Tapi!
document.getElementById("foo").innerHTML = "<a href='" + pathname +"'>" + pathname +"</a>"
Ini sebuah kesalahan. Bagaimana jika document.referrer memiliki tanda kutip? Atau berbagai karakter lain yang memiliki makna khusus dalam HTML. Dalam kasus terburuk, kode penyerang di pengarah dapat menyuntikkan JavaScript ke halaman Anda, yang merupakan lubang keamanan XSS.
Sementara itu mungkin untuk melarikan diri karakter dalam pathname secara manual untuk menghentikan hal ini terjadi, itu agak menyebalkan. Anda lebih baik menggunakan metode DOM daripada mengutak-atik string innerHTML.
if (document.referrer) {
var trimmed= document.referrer.substring(0, 64);
var link= document.createElement('a');
link.href= document.referrer;
link.appendChild(document.createTextNode(trimmed));
document.getElementById('foo').appendChild(link);
}