Drop-in instant domain search for your site.
Make sure you have Node.js and NPM installed.
Run npm install domainr-search-box to create a local copy of the module.
From the dist/ directory, include domainr-search-box.min.js and domainr-search-box.css on your page.
Add an empty div underneath your input; the Domainr Search Box will fill it with results.
To authenticate, use the API for free via RapidAPI with your RapidAPI API key, or contact us regarding high-volume usage.
var box = new domainr.SearchBox({
mashapeKey: yourRapidAPIKey, // your RapidAPI API key
// clientId: yourClientId, // your high-volume clientId; not needed if using RapidAPI
observe: yourInputElement,
renderTo: yourResultsElement,
onSelect: function(result) { ... }
});$('input#search')
.domainrSearchBox({
mashapeKey: yourRapidAPIKey, // your RapidAPI API key
clientId: yourClientId, // or alternatively your Client ID; not needed if using RapidAPI
renderTo: yourResultsElementOrSelector,
onSelect: function(result) { ... }
});Create a domainr.SearchBox with new domainr.SearchBox(options). The options argument is an object with the following possible properties:
clientId: Either this ormashapeKeyare required.mashapeKey: Either this orclientIdare required.observe: The DOM element to observe.renderTo: The DOM element to contain the rendered autocomplete.renderWith: A function that will render the autocomplete. It will receive a state object.limit: A number for the max number of results to display. Optional; default = 20.registrar: Registrar or Registry domain name, to limit search results to domains supported by a registrar or registry. e.g.namecheap.comordonuts.codefaults: Include the given default zones (an array of strings) in your search, e.g.["coffee", "cafe", "organic"]. Results will be sorted according to the order of this array.searchDelay: How many milliseconds after keyboard entry before the search is made (to avoid redundant network traffic). Optional; default =250.onSelect: An optional function to be called when the user selects a domain (if omitted, a new window will open with a recommended registrar for that result). Receives a single object with these properties:domainhostpathregisterURLstatussubdomainzone
Create a domainr.Client with new domainr.Client(options). The options argument is an object with the following possible properties:
clientId: Either this ormashapeKeyare required.mashapeKey: Either this or clientId are required.baseURL: Optional.
The domainr.Client has the following methods:
search(params, callback): Search with the given params and call the callback with the results upon completion. Theparamsargument is an object with the following possible properties:defaults: Comma-delimited string, e.g.coffee,cafe,organiclocation: String, e.g.dequery: String.registrar: String, e.g.namecheap.comordonuts.co
status(domains, callback): Call thestatusAPI with the given domains (an array) and call the callback with the results upon completion.options(domain, callback): Call theoptionsAPI with the given domain (a string) and call the callback with the results upon completion.zones(callback): Call thezonesAPI and call the callback with the results upon completion.registerURL(domain, options): Returns a URL for registering the given domain (a string). The options parameter is an object; currently one property is accepted,registrar, to specify a specific registrar.
Select the element you want to observe and call .domainrSearchBox(options) on it. Possible options include:
clientId: Either this ormashapeKeyare required.mashapeKey: Either this orclientIdare required.renderTo: Specification for which element to contain the rendered autocomplete. Can be anything jQuery will accept (selector, element, jQuery object).renderWith: A function that will render the autocomplete. It will receive a state object.limit: A number for the max number of results to display. Optional; default = 20.registrar: Registrar or Registry domain name, to limit search results to domains supported by a registrar or registry. e.g.namecheap.comordonuts.codefaults: Include the given default zones (an array of strings) in your search, e.g.["coffee", "cafe", "organic"]. Results will be sorted according to the order of this array.searchDelay: How many milliseconds after keyboard entry before the search is made (to avoid redundant network traffic). Optional; default = 250.onSelect: An optional function to be called when the user selects a domain (if omitted, a new window will open with a recommended registrar for that result). Receives a single object with these properties:domainhostpathregisterURLstatussubdomainzone
You'll need to have Node and Gulp installed.
npm install -g gulpto install Gulp.npm installto install dependenciesgulp buildto build the code.gulp watchto watch the code, building on changes.- note: console output will appear when files are changed
gulpbuilds + watch, and runs the demo in a webpage.
- Always increment the version
npm whoamito see your current npm usernpm publishto publish it
Note that the demo requires the code to be built. Also, you'll need to get a mashapeKey or clientId and set up a config.js; instructions are in index.html.
© 2018 nb.io, LLC