(function () { this.Meta = function () { var defaultOptions = { googlebot: "index,follow,all", robots: "index,follow,all" } if (arguments[0] && typeof arguments[0] === "object" && typeof (arguments[0] != "undefined")) { defaultOptions = extendDefaults(defaultOptions, arguments[0]); } appendMetaTag(defaultOptions); } function extendDefaults(defaultOptions, properties) { var property; for (var property in properties) { if (properties.hasOwnProperty(property)) { defaultOptions[property] = properties[property]; } } return defaultOptions; } Meta.prototype.facebook = function () { if (arguments[0] && typeof arguments[0] === "object" && typeof (arguments[0] != "undefined")) { for (var key in arguments[0]) { if (arguments[0].hasOwnProperty(key)) { createMetaTag(key, arguments[0][key], true); } } } } Meta.prototype.google = function () { if (arguments[0] && typeof arguments[0] === "object" && typeof (arguments[0] != "undefined")) { for (var key in arguments[0]) { if (arguments[0].hasOwnProperty(key)) { createMetaTag(key, arguments[0][key], false); } } } } function appendMetaTag(options) { var metaText = ""; for (var key in options) { if (options.hasOwnProperty(key)) { if (key == "title" || key == "description" || key == "image") { createMetaTag(key, options[key], false); createMetaTag(key, options[key], true); } else { ; createMetaTag(key, options[key], false); } } } } function createMetaTag(name, content, og) { var meta = document.createElement('meta'); if (og) { meta.setAttribute('name', 'og:' + name) } else { meta.setAttribute('name', name) } meta.setAttribute('content', content); document.head.appendChild(meta); } })();