JavaScript將相對位址轉換為絕對位址

來源:互聯網
上載者:User

在看LABjs原始碼時,發現裡面有個將相對位址轉為絕對位址的函數,將其拿出紀錄如下:

function canonical_uri(src, base_path){var root_page = /^[^?#]*\//.exec(location.href)[0],root_domain = /^\w+\:\/\/\/?[^\/]+/.exec(root_page)[0],absolute_regex = /^\w+\:\/\//;// is `src` is protocol-relative (begins with // or ///), prepend protocolif (/^\/\/\/?/.test(src)){src = location.protocol + src;}// is `src` page-relative? (not an absolute URL, and not a domain-relative path, beginning with /)else if (!absolute_regex.test(src) && src.charAt(0) != "/"){// prepend `base_path`, if anysrc = (base_path || "") + src;}// make sure to return `src` as absolutereturn absolute_regex.test(src) ? src : ((src.charAt(0) == "/" ? root_domain : root_page) + src);}

如當前頁面地址為:http://www.inspurstb.com/hzt/index.html

則canonical_uri("scy.js")返回http://www.inspurstb.com/hzt/scy.js

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.