1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5/** 6 * Alias for document.getElementById. 7 * @param {string} id The ID of the element to find. 8 * @return {HTMLElement} The found element or null if not found. 9 */ 10function $(id) { 11 return document.getElementById(id); 12} 13 14/** 15 * Extract query params from given search string of an URL. 16 * @param {string} search The search portion of an URL to extract params. 17 * @return {Object} The key value pairs of the extracted params. 18 */ 19function getUrlSearchParams(search) { 20 var params = {}; 21 22 if (search) { 23 // Strips leading '?' 24 search = search.substring(1); 25 var pairs = search.split('&'); 26 for (var i = 0; i < pairs.length; ++i) { 27 var pair = pairs[i].split('='); 28 if (pair.length == 2) { 29 params[pair[0]] = decodeURIComponent(pair[1]); 30 } else { 31 params[pair] = true; 32 } 33 } 34 } 35 36 return params; 37} 38 39/** 40 * Creates a new URL which is the old URL with a GET param of key=value. 41 * Copied from ui/webui/resources/js/util.js. 42 * @param {string} url The base URL. There is not sanity checking on the URL so 43 * it must be passed in a proper format. 44 * @param {string} key The key of the param. 45 * @param {string} value The value of the param. 46 * @return {string} The new URL. 47 */ 48function appendParam(url, key, value) { 49 var param = encodeURIComponent(key) + '=' + encodeURIComponent(value); 50 51 if (url.indexOf('?') == -1) 52 return url + '?' + param; 53 return url + '&' + param; 54} 55 56/** 57 * Creates a new URL by striping all query parameters. 58 * @param {string} url The original URL. 59 * @return {string} The new URL with all query parameters stripped. 60 */ 61function stripParams(url) { 62 return url.substring(0, url.indexOf('?')) || url; 63} 64 65/** 66 * Extract domain name from an URL. 67 * @param {string} url An URL string. 68 * @return {string} The host name of the URL. 69 */ 70function extractDomain(url) { 71 var a = document.createElement('a'); 72 a.href = url; 73 return a.hostname; 74} 75