Browser detection with jQuery
December 6th, 2013
For at least a decade, browser detection has gotten a bad rap. Test for the browser’s capabilities, not the browser itself,
we’re repeatedly told. But there are times when nothing else will do.
Not long after browsers became JavaScript-enabled – we’re back in the mid 90s now – browser sniffing was one of many cool tricks that became widely used. Query the navigator
object to get the browser name, version, and other attributes, then use that information to control other functionality, such as image rollovers.
Enter feature detection
This practice was eventually superseded by the more robust technique of feature detection. Instead of trying to identify the browser or browsers that needed special handling, test for support of the feature in question, and ignore the browser itself. Eventually, Modernizr appeared, a JavaScript library providing an easy, standardised way to test for a wide range of HTML5 and CSS3 features. When the page loads, Modernizr runs a series of tests and adds a class to the <html>
tag for every tested feature that’s supported, and a no-xxxxxx
class where the feature isn’t supported.
For example, let’s say your layout depends on a particular font supplied by the @font-face
rule. You’ve specified fallback fonts, but your desired layout will be messed up if these fonts get called (stay with me here). You simply write one CSS rule for the browsers that support @font-face
, and another for the rest, like so:
.font-face .example {
width: 80%;
padding: 2em;
}
.no-font-face .example {
width: 60%;
padding: 4em;
}
Making browser detection respectable again
In practice this works very well. But there are many use cases where you need to compensate for individual browser quirks rather than browser capabilities. Even though old versions of Internet Explorer are fading into the sunset, and even though each new version of IE seems to be less buggy than its predecessor, problems with floats, positioning, and other standardised CSS properties persist. These have nothing to do with capabilities per se – the browser is theoretically capable of dealing with them – rather the browser in question implements the particular capability in a flawed way. The most direct and reliable way to deal with the bug is to address the browser directly.
Better browser detection
Unlike the JavaScript navigator object, conditional comments are a reliable way to identify any version of IE between 5 and 9. The HTML5Boilerplate template uses conditional comments to identify if the current browser is Internet Explorer and, if so, what version it is. It uses a similar model to Modernizr in that it deploys a set of class names on the <html>
tag to allow the developer to target not only specific versions of IE, but ranges of versions of IE. For instance “IE 7 or earlier” would be identified by the class lt-ie7
.
Although it’s clever, I find HTML5Boilerplate’s technique of littering your page with four or more conditionally-commented <html>
tags cumbersome and unsightly. And once in a while you’ll stumble on a bug in a supposedly standards-compliant browser such as Safari, Chrome, or Opera. So I set about gathering up some existing, well-tested code into a single jQuery function that avoids the multiple <html>
tags, instead adding all the necessary classes to the single <html>
tag (see Downloads, below).
This function will detect Internet Explorer from version 5 through 10, and Firefox, Safari, Chrome, and Opera. It also detects the Webkit engine, used by both Safari and Chrome. It’s is only 1.3KB minified, so you can paste it into your main JavaScript file, inside the $(document).ready()
event handler. Assuming you’ve already called jQuery, all you need then do is call it on the $(document).ready()
event, as follows:
$('html').add_browser_classes();
As with Modernizr, you deploy it in your CSS as follows:
.not-safari .example {
padding: 2em;
}
.safari .example {
padding: 4em;
}
Downloads
Download the example code.
Special thanks to James Padolsey for the IE detection routine, which I extended to detect IE10.
$jslibfiles: Array
(
[0] => lightbox
[1] => snowfall-standard
)
$js_list_this: Array
(
[0] => lightbox
[1] => snowfall-standard
)
$js_list: Array
(
[0] => lightbox
[1] => snowfall-standard
)
$ie_conditional_values: Array
(
)
$js_lib_files: Array
(
[jquery] => jquery-1.4.2.js
[lightbox] => jquery.lightbox.min.js
[equalcols] => jquery.equalizecols.js
[opacity] => jquery.opaqueChildren.js
[pngfix] => jquery.pngFix.js
[jloader] => jquery.jloader.js
[swfobject] => jquery.swfobject.1-0-7.js
[obfuscate] => jquery.obfuscate.js
[csstarget] => csstarget.js
[cycle] => jquery.cycle.js
[popupwindow] => jquery.popupWindow.js
[tablesorter] => jquery.tablesorter.js
[validate] => jquery.validate.min.js
[additional-methods] => additional-methods.min.js
[snowfall] => snowfall.js
[snowfall-standard] => snowfall-standard.js
[snowfall-jquery] => snowfall-jquery.min.js
[cdelaney] => cdelaney.js
)
$GLOBALS[js_lib_files]: Array
(
[jquery] => jquery-1.4.2.js
[lightbox] => jquery.lightbox.min.js
[equalcols] => jquery.equalizecols.js
[opacity] => jquery.opaqueChildren.js
[pngfix] => jquery.pngFix.js
[jloader] => jquery.jloader.js
[swfobject] => jquery.swfobject.1-0-7.js
[obfuscate] => jquery.obfuscate.js
[csstarget] => csstarget.js
[cycle] => jquery.cycle.js
[popupwindow] => jquery.popupWindow.js
[tablesorter] => jquery.tablesorter.js
[validate] => jquery.validate.min.js
[additional-methods] => additional-methods.min.js
[snowfall] => snowfall.js
[snowfall-standard] => snowfall-standard.js
[snowfall-jquery] => snowfall-jquery.min.js
[cdelaney] => cdelaney.js
)
$GLOBALS: Array
(
[_GET] => Array
(
[q] => node/2
)
[_POST] => Array
(
)
[_COOKIE] => Array
(
)
[_FILES] => Array
(
)
[_SERVER] => Array
(
[PATH] => /usr/local/bin:/bin:/usr/bin
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
[HTTP_ACCEPT_ENCODING] => br,gzip
[HTTP_ACCEPT_LANGUAGE] => en-US,en;q=0.5
[HTTP_CONNECTION] => Keep-Alive
[HTTP_HOST] => www.cdelaney.com
[HTTP_USER_AGENT] => CCBot/2.0 (https://commoncrawl.org/faq/)
[HTTP_IF_MODIFIED_SINCE] => Sun, 11 Jun 2023 00:03:19 GMT
[HTTP_X_HTTPS] => 1
[DOCUMENT_ROOT] => /home/cdelaney/public_html
[REMOTE_ADDR] => 3.80.4.147
[REMOTE_PORT] => 46454
[SERVER_ADDR] => 69.175.23.140
[SERVER_NAME] => www.cdelaney.com
[SERVER_ADMIN] => webmaster@cdelaney.com
[SERVER_PORT] => 443
[REQUEST_SCHEME] => https
[REQUEST_URI] => /blog/browser-detection-with-jquery
[REDIRECT_URL] => /blog/browser-detection-with-jquery
[REDIRECT_REQUEST_METHOD] => GET
[HTTPS] => on
[CRAWLER_USLEEP] => 1000
[CRAWLER_LOAD_LIMIT] => 5.2
[REWRITEBASE] => /
[DOCROOT] => /
[REDIRECT_STATUS] => 200
[SSL_PROTOCOL] => TLSv1.3
[SSL_CIPHER] => TLS_AES_256_GCM_SHA384
[SSL_CIPHER_USEKEYSIZE] => 256
[SSL_CIPHER_ALGKEYSIZE] => 256
[SCRIPT_FILENAME] => /home/cdelaney/public_html/index.php
[QUERY_STRING] =>
[SCRIPT_URI] => https://www.cdelaney.com/blog/browser-detection-with-jquery
[SCRIPT_URL] => /blog/browser-detection-with-jquery
[SCRIPT_NAME] => /index.php
[SERVER_PROTOCOL] => HTTP/1.1
[SERVER_SOFTWARE] => LiteSpeed
[REQUEST_METHOD] => GET
[X-LSCACHE] => on,crawler
[PHP_SELF] => /index.php
[REQUEST_TIME_FLOAT] => 1701953630.1643
[REQUEST_TIME] => 1701953630
[HTTP_REFERER] =>
)
[GLOBALS] => Array
*RECURSION*
[_REQUEST] => Array
(
)
[timers] => Array
(
[page] => Array
(
[start] => 1701953630.1808
[count] => 1
)
)
[base_url] => https://www.cdelaney.com
[base_path] => /
[base_root] => https://www.cdelaney.com
[databases] => Array
(
[default] => Array
(
[default] => Array
(
[database] => cdelaney_drupal
[username] => cdelaney_drupal
[password] => fEvP2am948H6gXW
[host] => localhost
[port] =>
[driver] => mysql
[prefix] =>
)
)
)
[cookie_domain] => .cdelaney.com
[conf] => Array
(
[additional_settings__active_tab_article] => edit-submission
[additional_settings__active_tab_blog_post] => edit-comment
[admin_theme] => seven
[anonymous] => Anonymous
[block_cache] => 0
[cache] => 0
[cache_class_cache_ctools_css] => CToolsCssCache
[cache_lifetime] => 0
[clean_url] => 1
[comment_anonymous_article] => 0
[comment_anonymous_blog_post] => 0
[comment_article] => 2
[comment_blog_post] => 2
[comment_default_mode_article] => 1
[comment_default_mode_blog_post] => 1
[comment_default_per_page_article] => 50
[comment_default_per_page_blog_post] => 50
[comment_form_location_article] => 1
[comment_form_location_blog_post] => 1
[comment_page] => 0
[comment_preview_article] => 1
[comment_preview_blog_post] => 1
[comment_subject_field_article] => 1
[comment_subject_field_blog_post] => 1
[cron_key] => BxTmnswMhBVjyyTz7xvnXkXldJdGdHnIbulZv1Wtt0A
[cron_last] => 1701953218
[css_js_query_string] => qwdpjr
[ctools_last_cron] => 1701885150
[date_default_timezone] => America/Los_Angeles
[dblog_row_limit] => 1000
[devel_api_url] => api.drupal.org
[devel_error_handlers] => Array
(
[1] => 1
)
[devel_execution] => 5
[devel_krumo_skin] => default
[devel_node_access_debug_mode] => 0
[devel_node_access_user_ajax] => 0
[devel_page_alter] => 0
[devel_query_display] => 0
[devel_query_sort] => 0
[devel_raw_names] => 0
[devel_rebuild_theme_registry] => 0
[devel_redirect_page] => 0
[devel_themer_compress_temporary_files] => 1
[devel_themer_log] => 1
[devel_use_uncompressed_jquery] => 0
[devel_xhprof_directory] =>
[devel_xhprof_enabled] =>
[devel_xhprof_url] =>
[dev_mem] => 0
[dev_timer] => 0
[disqus_api_delete] => no_action
[disqus_api_update] => 0
[disqus_developer] => 0
[disqus_domain] => cdelaney-staging
[disqus_inherit_login] => 1
[disqus_localization] => 0
[disqus_location] => content_area
[disqus_logo] => 0
[disqus_nodetypes] => Array
(
[blog_post] => blog_post
[article] => 0
[page] => 0
)
[disqus_publickey] =>
[disqus_secretkey] =>
[disqus_sso] => 0
[disqus_useraccesstoken] =>
[disqus_use_site_logo] => 0
[disqus_weight] => 50
[drupal_css_cache_files] => Array
(
[823ba1006db72809515d2221cd02ec1075d7b49b0c07f49307b3a7930bfdd9e4] => public://css/css_xE-rWrJf-fncB6ztZfd2huxqgxu4WO-qwma6Xer30m4.css
[592db66916e1dd3416cbe95bcb34a5a68775eb0b7cf95e4c858671de35290cc9] => public://css/css_LS9OUalDR9-d_lCAvF3yUWjNU6yF8ZBm84jEPRvoyuQ.css
[8a825e498166e2f96644cb7801aa9341e14995a978bb1f94150a44a5ab9ea822] => public://css/css_gArAUcbPOGS20Rj3CC1Ph_2J692LtLqNviaNUAmk_Wg.css
[fdebd8c4e97db417b89428fa0b8a974a14f1bbd7140a4cfe3f3e4b1ac6c5b45b] => public://css/css_pM3nkkEl_kie3pqHjxbMgjbGhzOY9jPxBn2Mqs908Sg.css
[ebb3f433ad4107b1ac31e9d7de0f9a5d399040e9f82b6364211dcfaadea158c0] => public://css/css_Nv0ct-zkzztuah_LbaPFF8ZkdSEk-LxBtTWMm9mN_F8.css
[032d72e2b3124645b11e59c23005327dc2b450af6aaa6bf3cad34a6a65a9d774] => public://css/css_ZDWl28hdmeinIcKg-HMrN6uKD0nTMld5NlXLmm5MH2U.css
[3521ba8941554499c437dc29b9c106b98f4beaa0293c67fb2f4538ff4b556c5a] => public://css/css_m_bFP_03GECQzC9YNbt_swIp1n4LhCYOUNrt2hxy7Jk.css
[0666226298191fc38245120e07054538aa57ab48b579708564f3617e715b540f] => public://css/css_lswNdxDgNHf-P_Lzokk0k-NPRV2F3I9U9Mhkv6TiuVc.css
[ab52e82b13b45c0f8cd074c0a752854592a364a4db7a3144c741b02d7d42794b] => public://css/css_PGbJgHCUCBf4dg7K9Kt8aAwsApndP4GZ9RuToPy3-Fk.css
[6f0d17830124c9db2c06fb3976a017b9734bdb38fd307f0fca181bf314a69256] => public://css/css_tGCIIXn7twU9gc4BiEMVuBXN6nsdSwOjeHDAK-IXDWA.css
[65ee581e47f3fa6c6ad7d9c021aae3ab51269e7a47a27e11b956611681626cb2] => public://css/css_gtnXCHMNJErLF7rozM4J6Nv_etP7cu_Z1dfkJHOui_Q.css
[909af35150eb7139d06194ea5dea2b787c713a932e9cb63c8bb7931a655758dc] => public://css/css_5aUiVWbKsqFuoHALvw3IkbfsjdeDBC98c2Z7GrCGSyg.css
[f05494fc83c9c8e2c74180252d01c9ea50f347143d606c3ea4a216ea0f24ce6e] => public://css/css_BR3eb_ceEn8jEAv9rAj8_gjpfC6A1BpCm8JGn5sUfnY.css
[4a6c11ec8b1e484d0c98115a6ee9776d7e46d18f3ddb06fb1206ccf6a3a47782] => public://css/css_3ZeX6scv29Q9W6Bfiaf7vgV0xQF7IgT2cx5a4oG8ur4.css
[1994d8b7150d1c09340786784a5f1f938fb88c8462ce22d7477e668eb508bff0] => public://css/css_Oow34ATb_XaszZiGkdFAsUPU184thRaZLKLZIwN5Lbw.css
[fb99f59634ca50e0fba4e84e68023155e5b29a96985d8a76309ce0a0db1009a9] => public://css/css_q5ec_udOLdLV_onOkK1Eku0_z9QKGZqKQBJk_s1nj9k.css
[bda7f6b5c7d4d217da8c211753e7e6cded40d4482b29ab832cea08b425987db7] => public://css/css_JsNrhTrv96uO_ECAcja2-aAZgozGslyfksQWxmC7MjY.css
[4da1a49abda886fd43159e02a74346ec3d2b87ad18b19ea33aa5417fb272a94e] => public://css/css_vQ4lFmFNGA3ez0ifgYoERX5IWbPK-zlvj5_fKfwSMyI.css
[73a112543a0217285f9e8043d9c48234b0868f6f5127a40a84c2d6ca6d0e30d8] => public://css/css_-1qKftcmPYmFHNoDVkFPe4jutDpQvFDU6rdsd5Mfuto.css
[4de0c1fcda82e7e9c3804c03d0288c1209dd8bed145ffb49f2b46988c6a243ff] => public://css/css_3E_lU9AW-mJkoPj8ifdrJRdVNalgk9Sqp_MnsaMH6Ps.css
)
[drupal_http_request_fails] =>
[drupal_js_cache_files] => Array
(
[d5d0c864c1e2c5c8ecb33cfe74138a84c029ca735323ac2c2e4900b5aa80e15c] => public://js/js_yMSKTzBO0KmozyLwajzFOrrt_kto_9mtccAkb0rm7gc.js
[111d860265abe08204bdf363fb75e432b0104dd26ec9ad3853b748098098279b] => public://js/js_KCd8rbJYUruV1tRJnh4um34UYvyhlrSVCPR1jNko2h8.js
[6e7764b4689519eea37a753cec329408e6482036a776797fdc47269188a59d53] => public://js/js_CjgB5PIyklVqKRWqFwkp3KgnU0HxockOpAEL3e1jkdQ.js
[5a5773ec0d4cdd3579c4290589afe4bcd3d023e8db32f5287fdd0fc6ce06c12e] => public://js/js_-uQx0zVjW9KSa0FRBm_IuQEDDXM8iMTcyQUPCXtCSfo.js
[d73b2ad221e8f0cadec5188d4e7d9e15d6fffd23faed1998d379097398ff07b3] => public://js/js_zrRWKhIx4rRMPEy3buhYepP5lIl0v_epHqDgC47NEtE.js
[06855983a4d9db9e23766ab3a1b69320a2808eed22b59231143193e018312442] => public://js/js_PtzyVeGAT46uZ0lMVgHBLuHKs_uMkpYepbM-OzexvSI.js
[972adc27bdddfd25dd31a30d3d68ff819df8274e546405cfe0fc25a30e91ea4b] => public://js/js_xkNJAsxwivLkU0oHKFDq0WWS98raDZFJtIqyf_bX3h8.js
[cb7ab45f9cbbb0d92cbb136293bd20ad079d066e1a3514e9ad110981b06691c1] => public://js/js_38VWQ3jjQx0wRFj7gkntZr077GgJoGn5nv3v05IeLLo.js
[05f1026dc8d520145ea1fec3b18b580cf860bc9b9185eabce8dce8510daa99bb] => public://js/js_PFdoTZ5D701F0dI0ZX-q11hiM8aly95BjvzgvC7jWrk.js
[0fa1ad633e9553c209aae99ee217fb856d92b3d958431b6e4bb2c690bb8244ef] => public://js/js__jX-421-4YklcScNZwKdLnfLkyOwmcfNfn3Flk4LXJU.js
[1a30c351624a627553d78983ad986922fa2576d2391858497e3ca6bb022b6015] => public://js/js_CC-zfeuQHcDhFtVRuKW53h30TL7j_105J32Nz8b8R38.js
[1af6dc1f7e5d718cb7bf3c3e4c27c5a392efb399ea3db56b93c10f32f1f05473] => public://js/js_0XukeTChGgXCHSovVcM3xiCnbVBwa0fXACGPfo_pnP0.js
[290924b1ade61e1b54581f138826f07e6992ef71cd4778ee353dde95f7fe41ab] => public://js/js_l98f0r1XYfmIe3FnshqRzfDysmHNzkZXBIj8D8gO5JM.js
[031199fce268bdab1a55ea7c29b722aebde576b5bc9053614a997f1541093669] => public://js/js_VudkxYYwJJFPSxHnCwmxQ59Zejgp-5OVDMgR83Wnv4U.js
[04f0eb203d5f8adcffd66c8e3784567708dd13946df038849bed100eb3edbc7e] => public://js/js_YKbk9-kDSS-Tt-1JLrV-ROmEleKaEw_evc65yl_4U_0.js
[5ee79f9a3ae07627ef8f31f212a310dbb62ace80601d58e2ee3ec6c18462d508] => public://js/js_mMuSdRh5NeaBYvACFdfxYZFykbM62b1Ir0OkbP8m74A.js
[043fa6b738a3871698fa3a0c85b87c8eddd93ba0fad572adf5b19151f30398ed] => public://js/js_MRtcp-QQFNNvR2HH1o5B6z7sRKMM0wHClTmZ66zTYkg.js
[60d5213d6cceac6af9fa98a383122fcbacec2020dce32ad2d68ade9e558d0065] => public://js/js_tC5m6azM9m2bCqibaRzWxUPXPzbLNPOHloyZQS1gWQE.js
[4aaf154e1d88c882f9b44998b444a291e422e5f764d22e465a973f405d12632f] => public://js/js_do6acYw1EVQsluyfs5D5-Eds56R64JqtwJBVXafzI2g.js
[5df3e2f5197f6bc554fc8765bad8809b622e7e4eed12b82758257939c1e803ac] => public://js/js_l2dFYWhiKPGYqPcTVqeUaXzWkM9XCFJEJYwBtlHzQuY.js
[62b9d4e66f566de4661c6417c82b71885efcd5c19479ef160a1550817ef7c002] => public://js/js_qek3V4n_ppYl1XmZVyTLSE4r3TdFeTUGkjA1m2fAuVQ.js
[8fb2668cde4fdfe759d7dedbe96ba93d99d08fac0442ddd3b6792f903645d103] => public://js/js_0AGwY9Uj64s8IBzIZqKVeXRotXC8ohRppCzam6tqXUo.js
[ab370f121801863240a311896df746339307e6809aa2d560e0a9ccf206dad56e] => public://js/js_oEcLFi0M2hh-qfHl5gg3am2lDNWtsOhqKojkUVCUa5M.js
[ab825633a66c1131c2525d95d738171329fba852993dccf14838f0ada6242ff0] => public://js/js_IkgOrrVZK1UTp2HktvFi5vo1g7b25Muyr5GoySikuic.js
)
[drupal_private_key] => 4QCRTR8E0NeXW7BcITaA7dmJ_6X7Yc6L9KHQpkBo0MA
[email__active_tab] =>
[error_level] => 2
[feed_default_items] => 10
[feed_description] =>
[feed_item_length] => teaser
[field_bundle_settings_comment__comment_node_blog_post] => Array
(
[view_modes] => Array
(
[full] => Array
(
[custom_settings] =>
)
[token] => Array
(
[custom_settings] =>
)
)
[extra_fields] => Array
(
[form] => Array
(
)
[display] => Array
(
)
)
)
[field_bundle_settings_node__blog_post] => Array
(
[view_modes] => Array
(
[full] => Array
(
[custom_settings] => 1
)
[teaser] => Array
(
[custom_settings] => 1
)
[rss] => Array
(
[custom_settings] => 1
)
[search_index] => Array
(
[custom_settings] =>
)
[search_result] => Array
(
[custom_settings] =>
)
[token] => Array
(
[custom_settings] =>
)
[revision] => Array
(
[custom_settings] =>
)
)
[extra_fields] => Array
(
[form] => Array
(
[title] => Array
(
[weight] => 0
)
[path] => Array
(
[weight] => 1
)
)
[display] => Array
(
)
)
)
[field_bundle_settings_taxonomy_term__category] => Array
(
[view_modes] => Array
(
[full] => Array
(
[custom_settings] =>
)
[token] => Array
(
[custom_settings] =>
)
)
[extra_fields] => Array
(
[form] => Array
(
)
[display] => Array
(
[description] => Array
(
[default] => Array
(
[weight] => 0
[visible] => 1
)
)
)
)
)
[file_default_scheme] => public
[file_private_path] =>
[file_public_path] => sites/default/files
[file_temporary_path] => /home/cdelaney/tmp
[filter_fallback_format] => plain_text
[install_profile] => standard
[install_task] => done
[install_time] => 1379393810
[maintenance_mode] => 0
[maintenance_mode_message] => This site is currently under maintenance. We should be back shortly. Thank you for your patience.
[menu_expanded] => Array
(
)
[menu_masks] => Array
(
[0] => 501
[1] => 493
[2] => 250
[3] => 247
[4] => 246
[5] => 245
[6] => 126
[7] => 125
[8] => 124
[9] => 123
[10] => 122
[11] => 121
[12] => 117
[13] => 63
[14] => 62
[15] => 61
[16] => 60
[17] => 59
[18] => 58
[19] => 44
[20] => 31
[21] => 30
[22] => 29
[23] => 28
[24] => 24
[25] => 21
[26] => 15
[27] => 14
[28] => 13
[29] => 11
[30] => 7
[31] => 6
[32] => 5
[33] => 3
[34] => 2
[35] => 1
)
[menu_options_article] => Array
(
[0] => main-menu
)
[menu_options_blog_post] => Array
(
[0] => main-menu
)
[menu_parent_article] => main-menu:0
[menu_parent_blog_post] => main-menu:0
[mollom_log_minimum_severity] => 6
[node_admin_theme] => 1
[node_cron_last] => 1626246318
[node_options_article] => Array
(
[0] => status
[1] => promote
)
[node_options_blog_post] => Array
(
[0] => status
)
[node_options_page] => Array
(
[0] => status
)
[node_preview_article] => 1
[node_preview_blog_post] => 1
[node_submitted_article] => 1
[node_submitted_blog_post] => 1
[node_submitted_page] =>
[page_cache_maximum_age] => 0
[page_compression] => 1
[pathauto_blog_pattern] => blogs/[user:name]
[pathauto_case] => 1
[pathauto_forum_pattern] => [term:vocabulary]/[term:name]
[pathauto_ignore_words] =>
[pathauto_max_component_length] => 100
[pathauto_max_length] => 100
[pathauto_node_article_pattern] => article/[node:title]
[pathauto_node_blog_post_pattern] => blog/[node:title]
[pathauto_node_page_pattern] => page/[node:title]
[pathauto_node_pattern] => [node:title]
[pathauto_punctuation_ampersand] => 0
[pathauto_punctuation_asterisk] => 0
[pathauto_punctuation_at] => 0
[pathauto_punctuation_backtick] => 0
[pathauto_punctuation_back_slash] => 0
[pathauto_punctuation_caret] => 0
[pathauto_punctuation_colon] => 0
[pathauto_punctuation_comma] => 0
[pathauto_punctuation_dollar] => 0
[pathauto_punctuation_double_quotes] => 0
[pathauto_punctuation_equal] => 0
[pathauto_punctuation_exclamation] => 0
[pathauto_punctuation_greater_than] => 0
[pathauto_punctuation_hash] => 0
[pathauto_punctuation_hyphen] => 1
[pathauto_punctuation_left_curly] => 0
[pathauto_punctuation_left_parenthesis] => 0
[pathauto_punctuation_left_square] => 0
[pathauto_punctuation_less_than] => 0
[pathauto_punctuation_percent] => 0
[pathauto_punctuation_period] => 0
[pathauto_punctuation_pipe] => 0
[pathauto_punctuation_plus] => 0
[pathauto_punctuation_question_mark] => 0
[pathauto_punctuation_quotes] => 0
[pathauto_punctuation_right_curly] => 0
[pathauto_punctuation_right_parenthesis] => 0
[pathauto_punctuation_right_square] => 0
[pathauto_punctuation_semicolon] => 0
[pathauto_punctuation_slash] => 0
[pathauto_punctuation_tilde] => 0
[pathauto_punctuation_underscore] => 0
[pathauto_reduce_ascii] => 0
[pathauto_separator] => -
[pathauto_taxonomy_term_category_pattern] => category/[term:parents:join-path]/[term:name]
[pathauto_taxonomy_term_pattern] => [term:vocabulary]/[term:name]
[pathauto_taxonomy_term_tags_pattern] =>
[pathauto_transliterate] =>
[pathauto_update_action] => 2
[pathauto_user_pattern] => users/[user:name]
[pathauto_verbose] => 0
[path_alias_whitelist] => Array
(
[node] => 1
[taxonomy] => 1
[user] => 1
)
[preprocess_css] => 1
[preprocess_js] => 1
[save_continue_blog_post] => Save and add fields
[settings__active_tab] => edit-visibility
[site_default_country] => US
[site_mail] => web@cdelaney.com
[site_name] => Colm Delaney
[theme_cdelaney2013_settings] => Array
(
[toggle_logo] => 1
[toggle_name] => 1
[toggle_slogan] => 1
[toggle_node_user_picture] => 1
[toggle_comment_user_picture] => 1
[toggle_comment_user_verification] => 1
[toggle_favicon] => 1
[toggle_main_menu] => 1
[toggle_secondary_menu] => 1
[default_logo] => 1
[logo_path] =>
[logo_upload] =>
[default_favicon] => 0
[favicon_path] => images/favicon-01.png
[favicon_upload] =>
[scheme] => default
[palette] => Array
(
[top] => #0779bf
[bottom] => #48a9e4
[bg] => #ffffff
[sidebar] => #f6f6f2
[sidebarborders] => #f9f9f9
[footer] => #292929
[titleslogan] => #fffeff
[text] => #3b3b3b
[link] => #0071B3
)
[theme] => cdelaney2013
[info] => Array
(
[fields] => Array
(
[top] => Header top
[bottom] => Header bottom
[bg] => Main background
[sidebar] => Sidebar background
[sidebarborders] => Sidebar borders
[footer] => Footer background
[titleslogan] => Title and slogan
[text] => Text color
[link] => Link color
)
[schemes] => Array
(
[default] => Array
(
[title] => Blue Lagoon (default)
[colors] => Array
(
[top] => #0779bf
[bottom] => #48a9e4
[bg] => #ffffff
[sidebar] => #f6f6f2
[sidebarborders] => #f9f9f9
[footer] => #292929
[titleslogan] => #fffeff
[text] => #3b3b3b
[link] => #0071B3
)
)
[firehouse] => Array
(
[title] => Firehouse
[colors] => Array
(
[top] => #cd2d2d
[bottom] => #cf3535
[bg] => #ffffff
[sidebar] => #f1f4f0
[sidebarborders] => #ededed
[footer] => #1f1d1c
[titleslogan] => #fffeff
[text] => #3b3b3b
[link] => #d6121f
)
)
[ice] => Array
(
[title] => Ice
[colors] => Array
(
[top] => #d0d0d0
[bottom] => #c2c4c5
[bg] => #ffffff
[sidebar] => #ffffff
[sidebarborders] => #cccccc
[footer] => #24272c
[titleslogan] => #000000
[text] => #4a4a4a
[link] => #019dbf
)
)
[plum] => Array
(
[title] => Plum
[colors] => Array
(
[top] => #4c1c58
[bottom] => #593662
[bg] => #fffdf7
[sidebar] => #edede7
[sidebarborders] => #e7e7e7
[footer] => #2c2c28
[titleslogan] => #ffffff
[text] => #301313
[link] => #9d408d
)
)
[slate] => Array
(
[title] => Slate
[colors] => Array
(
[top] => #4a4a4a
[bottom] => #4e4e4e
[bg] => #ffffff
[sidebar] => #ffffff
[sidebarborders] => #d0d0d0
[footer] => #161617
[titleslogan] => #ffffff
[text] => #3b3b3b
[link] => #0073b6
)
)
[] => Array
(
[title] => Custom
[colors] => Array
(
)
)
)
[css] => Array
(
[0] => css/colors.css
)
[copy] => Array
(
[0] => logo.png
)
[gradients] => Array
(
[0] => Array
(
[dimension] => Array
(
[0] => 0
[1] => 0
[2] => 0
[3] => 0
)
[direction] => vertical
[colors] => Array
(
[0] => top
[1] => bottom
)
)
)
[fill] => Array
(
)
[slices] => Array
(
)
[blend_target] => #ffffff
[preview_css] => color/preview.css
[preview_js] => color/preview.js
[preview_html] => color/preview.html
[base_image] => color/base.png
)
[favicon_mimetype] => image/png
)
[theme_default] => cdelaney2013
[update_check_disabled] => 0
[update_check_frequency] => 7
[update_last_check] => 1701853389
[update_last_email_notification] => 1701682499
[update_notification_threshold] => security
[update_notify_emails] => Array
(
[0] => web@cdelaney.com
)
[user_admin_role] => 3
[user_cancel_method] => user_cancel_block
[user_email_verification] => 1
[user_mail_cancel_confirm_body] => [user:name],
A request to cancel your account has been made at [site:name].
You may now cancel your account on [site:url-brief] by clicking this link or copying and pasting it into your browser:
[user:cancel-url]
NOTE: The cancellation of your account is not reversible.
This link expires in one day and nothing will happen if it is not used.
-- [site:name] team
[user_mail_cancel_confirm_subject] => Account cancellation request for [user:name] at [site:name]
[user_mail_password_reset_body] => [user:name],
A request to reset the password for your account has been made at [site:name].
You may now log in by clicking this link or copying and pasting it to your browser:
[user:one-time-login-url]
This link can only be used once to log in and will lead you to a page where you can set your password. It expires after one day and nothing will happen if it's not used.
-- [site:name] team
[user_mail_password_reset_subject] => Replacement login information for [user:name] at [site:name]
[user_mail_register_admin_created_body] => [user:name],
A site administrator at [site:name] has created an account for you. You may now log in by clicking this link or copying and pasting it to your browser:
[user:one-time-login-url]
This link can only be used once to log in and will lead you to a page where you can set your password.
After setting your password, you will be able to log in at [site:login-url] in the future using:
username: [user:name]
password: Your password
-- [site:name] team
[user_mail_register_admin_created_subject] => An administrator created an account for you at [site:name]
[user_mail_register_no_approval_required_body] => [user:name],
Thank you for registering at [site:name]. You may now log in by clicking this link or copying and pasting it to your browser:
[user:one-time-login-url]
This link can only be used once to log in and will lead you to a page where you can set your password.
After setting your password, you will be able to log in at [site:login-url] in the future using:
username: [user:name]
password: Your password
-- [site:name] team
[user_mail_register_no_approval_required_subject] => Account details for [user:name] at [site:name]
[user_mail_register_pending_approval_body] => [user:name],
Thank you for registering at [site:name]. Your application for an account is currently pending approval. Once it has been approved, you will receive another e-mail containing information about how to log in, set your password, and other details.
-- [site:name] team
[user_mail_register_pending_approval_subject] => Account details for [user:name] at [site:name] (pending admin approval)
[user_mail_status_activated_body] => [user:name],
Your account at [site:name] has been activated.
You may now log in by clicking this link or copying and pasting it into your browser:
[user:one-time-login-url]
This link can only be used once to log in and will lead you to a page where you can set your password.
After setting your password, you will be able to log in at [site:login-url] in the future using:
username: [user:name]
password: Your password
-- [site:name] team
[user_mail_status_activated_notify] => 1
[user_mail_status_activated_subject] => Account details for [user:name] at [site:name] (approved)
[user_mail_status_blocked_body] => [user:name],
Your account on [site:name] has been blocked.
-- [site:name] team
[user_mail_status_blocked_notify] => 0
[user_mail_status_blocked_subject] => Account details for [user:name] at [site:name] (blocked)
[user_mail_status_canceled_body] => [user:name],
Your account on [site:name] has been canceled.
-- [site:name] team
[user_mail_status_canceled_notify] => 0
[user_mail_status_canceled_subject] => Account details for [user:name] at [site:name] (canceled)
[user_pictures] => 1
[user_picture_default] =>
[user_picture_dimensions] => 1024x1024
[user_picture_file_size] => 800
[user_picture_guidelines] =>
[user_picture_path] => pictures
[user_picture_style] => thumbnail
[user_register] => 0
[user_signatures] => 0
[views_defaults] => Array
(
[comments_recent] =>
)
[404_fast_paths_exclude] => /\/(?:styles)\//
[404_fast_paths] => /\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i
[404_fast_html] => 404 Not FoundNot Found
The requested URL "@path" was not found on this server.
)
[installed_profile] =>
[update_free_access] =>
[db_url] =>
[db_prefix] =>
[drupal_hash_salt] => xgnl9vW8fpMx7Pr5oSv8Hx6fSCehWlieeg0xAF3CCTA
[is_https] => 1
[base_secure_url] => https://www.cdelaney.com
[base_insecure_url] => http://www.cdelaney.com
[user] => stdClass Object
(
[uid] => 0
[hostname] => 3.80.4.147
[roles] => Array
(
[1] => anonymous user
)
[cache] => 0
)
[locks] => Array
(
)
[lazy_session] => 1
[language] => stdClass Object
(
[language] => en
[name] => English
[native] => English
[direction] => 0
[enabled] => 1
[plurals] => 0
[formula] =>
[domain] =>
[prefix] =>
[weight] => 0
[javascript] =>
[dir] => ltr
)
[language_content] => stdClass Object
(
[language] => en
[name] => English
[native] => English
[direction] => 0
[enabled] => 1
[plurals] => 0
[formula] =>
[domain] =>
[prefix] =>
[weight] => 0
[javascript] =>
[dir] => ltr
)
[language_url] => stdClass Object
(
[language] => en
[name] => English
[native] => English
[direction] => 0
[enabled] => 1
[plurals] => 0
[formula] =>
[domain] =>
[prefix] =>
[weight] => 0
[javascript] =>
[dir] => ltr
)
[multibyte] => 1
[theme] => cdelaney2013
[base_theme_info] => Array
(
)
[drupal_test_info] =>
[theme_key] => cdelaney2013
[theme_info] => stdClass Object
(
[filename] => sites/all/themes/cdelaney2013/cdelaney2013.info
[name] => cdelaney2013
[type] => theme
[owner] => themes/engines/phptemplate/phptemplate.engine
[status] => 1
[bootstrap] => 0
[schema_version] => -1
[weight] => 0
[info] => Array
(
[name] => Colm Delaney 2013
[description] => A simple theme, designed to integrate with an existing static site.
[core] => 7.x
[regions] => Array
(
[header] => Header
[help] => Help
[page_top] => Page top
[page_bottom] => Page bottom
[highlight] => Highlighted
[sidebar_first] => Sidebar first
[content] => Content
[sidebar_last] => Sidebar second
[footer] => Footer
[dashboard_main] => Dashboard (main)
[dashboard_sidebar] => Dashboard (sidebar)
[dashboard_inactive] => Dashboard (inactive)
)
[engine] => phptemplate
[features] => Array
(
[0] => logo
[1] => favicon
[2] => name
[3] => slogan
[4] => node_user_picture
[5] => comment_user_picture
[6] => comment_user_verification
[7] => main_menu
[8] => secondary_menu
)
[screenshot] => sites/all/themes/cdelaney2013/screenshot.png
[php] => 5.2.4
[stylesheets] => Array
(
)
[scripts] => Array
(
)
[mtime] => 1388095829
[overlay_regions] => Array
(
[0] => dashboard_main
[1] => dashboard_sidebar
[2] => dashboard_inactive
[3] => content
[4] => help
)
[regions_hidden] => Array
(
[0] => page_top
[1] => page_bottom
)
)
[prefix] => phptemplate
[engine] => phptemplate
)
[theme_engine] => phptemplate
[theme_path] => sites/all/themes/cdelaney2013
[_options] => Array
(
[custom_functions] => Array
(
[output_tag_meta_1] => custom_output_tag_meta_1
[output_tag_css_global] => custom_output_tag_css_global
[output_postamble] => custom_output_postamble
)
)
[js_lib_files] => Array
(
[jquery] => jquery-1.4.2.js
[lightbox] => jquery.lightbox.min.js
[equalcols] => jquery.equalizecols.js
[opacity] => jquery.opaqueChildren.js
[pngfix] => jquery.pngFix.js
[jloader] => jquery.jloader.js
[swfobject] => jquery.swfobject.1-0-7.js
[obfuscate] => jquery.obfuscate.js
[csstarget] => csstarget.js
[cycle] => jquery.cycle.js
[popupwindow] => jquery.popupWindow.js
[tablesorter] => jquery.tablesorter.js
[validate] => jquery.validate.min.js
[additional-methods] => additional-methods.min.js
[snowfall] => snowfall.js
[snowfall-standard] => snowfall-standard.js
[snowfall-jquery] => snowfall-jquery.min.js
[cdelaney] => cdelaney.js
)
[_testvar] => apricot
[_testvar2] =>
[_nav] => Array
(
[0] => Array
(
[link_label] => Home
[path] => /
[page_title] => Colm Delaney
[h1] =>
[menu] => Main, Utility
[slug] => home
[description] => Colm Delaney, based in Seattle, provides web design, development, and consulting services.
[path_edited] => /
[level] => 0
[has_children] =>
)
[1] => Array
(
[link_label] => About
[path] => /about/
[page_title] => About
[h1] => About
[menu] => Main, Utility, Footer
[slug] => about
[description] => Colm Delaney's background, educational and professional history, experience, and design philosophy.
[path_edited] => about/
[level] => 1
[has_children] =>
)
[2] => Array
(
[link_label] => Work
[path] => /work/
[page_title] => Work
[h1] => Work
[menu] => Main, Utility, Footer
[slug] => work
[description] => View selected examples of Colm Delaney's completed web projects, including case studies.
[path_edited] => work/
[level] => 1
[has_children] =>
)
[3] => Array
(
[link_label] => Blog
[path] => /blog/
[page_title] => Blog
[h1] => Blog
[menu] => Main
[slug] => blog
[description] =>
[path_edited] => blog/
[level] => 1
[has_children] =>
)
[4] => Array
(
[link_label] => Contact
[path] => /contact/
[page_title] => Contact
[h1] => Contact
[menu] => Main, Utility, Footer
[slug] => contact
[description] => Contact Colm Delaney by email, phone, mail, and social media.
[path_edited] => contact/
[level] => 1
[has_children] =>
)
[5] => Array
(
[link_label] => Other
[path] => /other/
[page_title] => Other
[h1] => Other
[menu] =>
[slug] => other
[description] =>
[path_edited] => other/
[level] => 1
[has_children] =>
)
[6] => Array
(
[link_label] => Template
[path] => /template/
[page_title] => Template
[h1] => Template
[menu] =>
[slug] => template
[description] =>
[path_edited] => template/
[level] => 1
[has_children] =>
)
)
[_breadcrumbs] => Array
(
)
[_test] =>
[_page_data] => Array
(
[id] => blog-browser-detection-with-jquery
[page_title] => Blog
[h1] =>
[parent_slug] => blog
[class_string] => blog
[level] => 1
[meta_description_edited] =>
)
)
$jslibfiles: Array
(
[0] => lightbox
[1] => snowfall-standard
)
$js_list_this: Array
(
[0] => lightbox
[1] => snowfall-standard
)
$js_list: Array
(
[0] => lightbox
[1] => snowfall-standard
)
$ie_conditional_values: Array
(
)
$js_lib_files: Array
(
[jquery] => jquery-1.4.2.js
[lightbox] => jquery.lightbox.min.js
[equalcols] => jquery.equalizecols.js
[opacity] => jquery.opaqueChildren.js
[pngfix] => jquery.pngFix.js
[jloader] => jquery.jloader.js
[swfobject] => jquery.swfobject.1-0-7.js
[obfuscate] => jquery.obfuscate.js
[csstarget] => csstarget.js
[cycle] => jquery.cycle.js
[popupwindow] => jquery.popupWindow.js
[tablesorter] => jquery.tablesorter.js
[validate] => jquery.validate.min.js
[additional-methods] => additional-methods.min.js
[snowfall] => snowfall.js
[snowfall-standard] => snowfall-standard.js
[snowfall-jquery] => snowfall-jquery.min.js
[cdelaney] => cdelaney.js
)
$GLOBALS[js_lib_files]: Array
(
[jquery] => jquery-1.4.2.js
[lightbox] => jquery.lightbox.min.js
[equalcols] => jquery.equalizecols.js
[opacity] => jquery.opaqueChildren.js
[pngfix] => jquery.pngFix.js
[jloader] => jquery.jloader.js
[swfobject] => jquery.swfobject.1-0-7.js
[obfuscate] => jquery.obfuscate.js
[csstarget] => csstarget.js
[cycle] => jquery.cycle.js
[popupwindow] => jquery.popupWindow.js
[tablesorter] => jquery.tablesorter.js
[validate] => jquery.validate.min.js
[additional-methods] => additional-methods.min.js
[snowfall] => snowfall.js
[snowfall-standard] => snowfall-standard.js
[snowfall-jquery] => snowfall-jquery.min.js
[cdelaney] => cdelaney.js
)
$GLOBALS: Array
(
[_GET] => Array
(
[q] => node/2
)
[_POST] => Array
(
)
[_COOKIE] => Array
(
)
[_FILES] => Array
(
)
[_SERVER] => Array
(
[PATH] => /usr/local/bin:/bin:/usr/bin
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
[HTTP_ACCEPT_ENCODING] => br,gzip
[HTTP_ACCEPT_LANGUAGE] => en-US,en;q=0.5
[HTTP_CONNECTION] => Keep-Alive
[HTTP_HOST] => www.cdelaney.com
[HTTP_USER_AGENT] => CCBot/2.0 (https://commoncrawl.org/faq/)
[HTTP_IF_MODIFIED_SINCE] => Sun, 11 Jun 2023 00:03:19 GMT
[HTTP_X_HTTPS] => 1
[DOCUMENT_ROOT] => /home/cdelaney/public_html
[REMOTE_ADDR] => 3.80.4.147
[REMOTE_PORT] => 46454
[SERVER_ADDR] => 69.175.23.140
[SERVER_NAME] => www.cdelaney.com
[SERVER_ADMIN] => webmaster@cdelaney.com
[SERVER_PORT] => 443
[REQUEST_SCHEME] => https
[REQUEST_URI] => /blog/browser-detection-with-jquery
[REDIRECT_URL] => /blog/browser-detection-with-jquery
[REDIRECT_REQUEST_METHOD] => GET
[HTTPS] => on
[CRAWLER_USLEEP] => 1000
[CRAWLER_LOAD_LIMIT] => 5.2
[REWRITEBASE] => /
[DOCROOT] => /
[REDIRECT_STATUS] => 200
[SSL_PROTOCOL] => TLSv1.3
[SSL_CIPHER] => TLS_AES_256_GCM_SHA384
[SSL_CIPHER_USEKEYSIZE] => 256
[SSL_CIPHER_ALGKEYSIZE] => 256
[SCRIPT_FILENAME] => /home/cdelaney/public_html/index.php
[QUERY_STRING] =>
[SCRIPT_URI] => https://www.cdelaney.com/blog/browser-detection-with-jquery
[SCRIPT_URL] => /blog/browser-detection-with-jquery
[SCRIPT_NAME] => /index.php
[SERVER_PROTOCOL] => HTTP/1.1
[SERVER_SOFTWARE] => LiteSpeed
[REQUEST_METHOD] => GET
[X-LSCACHE] => on,crawler
[PHP_SELF] => /index.php
[REQUEST_TIME_FLOAT] => 1701953630.1643
[REQUEST_TIME] => 1701953630
[HTTP_REFERER] =>
)
[GLOBALS] => Array
*RECURSION*
[_REQUEST] => Array
(
)
[timers] => Array
(
[page] => Array
(
[start] => 1701953630.1808
[count] => 1
)
)
[base_url] => https://www.cdelaney.com
[base_path] => /
[base_root] => https://www.cdelaney.com
[databases] => Array
(
[default] => Array
(
[default] => Array
(
[database] => cdelaney_drupal
[username] => cdelaney_drupal
[password] => fEvP2am948H6gXW
[host] => localhost
[port] =>
[driver] => mysql
[prefix] =>
)
)
)
[cookie_domain] => .cdelaney.com
[conf] => Array
(
[additional_settings__active_tab_article] => edit-submission
[additional_settings__active_tab_blog_post] => edit-comment
[admin_theme] => seven
[anonymous] => Anonymous
[block_cache] => 0
[cache] => 0
[cache_class_cache_ctools_css] => CToolsCssCache
[cache_lifetime] => 0
[clean_url] => 1
[comment_anonymous_article] => 0
[comment_anonymous_blog_post] => 0
[comment_article] => 2
[comment_blog_post] => 2
[comment_default_mode_article] => 1
[comment_default_mode_blog_post] => 1
[comment_default_per_page_article] => 50
[comment_default_per_page_blog_post] => 50
[comment_form_location_article] => 1
[comment_form_location_blog_post] => 1
[comment_page] => 0
[comment_preview_article] => 1
[comment_preview_blog_post] => 1
[comment_subject_field_article] => 1
[comment_subject_field_blog_post] => 1
[cron_key] => BxTmnswMhBVjyyTz7xvnXkXldJdGdHnIbulZv1Wtt0A
[cron_last] => 1701953218
[css_js_query_string] => qwdpjr
[ctools_last_cron] => 1701885150
[date_default_timezone] => America/Los_Angeles
[dblog_row_limit] => 1000
[devel_api_url] => api.drupal.org
[devel_error_handlers] => Array
(
[1] => 1
)
[devel_execution] => 5
[devel_krumo_skin] => default
[devel_node_access_debug_mode] => 0
[devel_node_access_user_ajax] => 0
[devel_page_alter] => 0
[devel_query_display] => 0
[devel_query_sort] => 0
[devel_raw_names] => 0
[devel_rebuild_theme_registry] => 0
[devel_redirect_page] => 0
[devel_themer_compress_temporary_files] => 1
[devel_themer_log] => 1
[devel_use_uncompressed_jquery] => 0
[devel_xhprof_directory] =>
[devel_xhprof_enabled] =>
[devel_xhprof_url] =>
[dev_mem] => 0
[dev_timer] => 0
[disqus_api_delete] => no_action
[disqus_api_update] => 0
[disqus_developer] => 0
[disqus_domain] => cdelaney-staging
[disqus_inherit_login] => 1
[disqus_localization] => 0
[disqus_location] => content_area
[disqus_logo] => 0
[disqus_nodetypes] => Array
(
[blog_post] => blog_post
[article] => 0
[page] => 0
)
[disqus_publickey] =>
[disqus_secretkey] =>
[disqus_sso] => 0
[disqus_useraccesstoken] =>
[disqus_use_site_logo] => 0
[disqus_weight] => 50
[drupal_css_cache_files] => Array
(
[823ba1006db72809515d2221cd02ec1075d7b49b0c07f49307b3a7930bfdd9e4] => public://css/css_xE-rWrJf-fncB6ztZfd2huxqgxu4WO-qwma6Xer30m4.css
[592db66916e1dd3416cbe95bcb34a5a68775eb0b7cf95e4c858671de35290cc9] => public://css/css_LS9OUalDR9-d_lCAvF3yUWjNU6yF8ZBm84jEPRvoyuQ.css
[8a825e498166e2f96644cb7801aa9341e14995a978bb1f94150a44a5ab9ea822] => public://css/css_gArAUcbPOGS20Rj3CC1Ph_2J692LtLqNviaNUAmk_Wg.css
[fdebd8c4e97db417b89428fa0b8a974a14f1bbd7140a4cfe3f3e4b1ac6c5b45b] => public://css/css_pM3nkkEl_kie3pqHjxbMgjbGhzOY9jPxBn2Mqs908Sg.css
[ebb3f433ad4107b1ac31e9d7de0f9a5d399040e9f82b6364211dcfaadea158c0] => public://css/css_Nv0ct-zkzztuah_LbaPFF8ZkdSEk-LxBtTWMm9mN_F8.css
[032d72e2b3124645b11e59c23005327dc2b450af6aaa6bf3cad34a6a65a9d774] => public://css/css_ZDWl28hdmeinIcKg-HMrN6uKD0nTMld5NlXLmm5MH2U.css
[3521ba8941554499c437dc29b9c106b98f4beaa0293c67fb2f4538ff4b556c5a] => public://css/css_m_bFP_03GECQzC9YNbt_swIp1n4LhCYOUNrt2hxy7Jk.css
[0666226298191fc38245120e07054538aa57ab48b579708564f3617e715b540f] => public://css/css_lswNdxDgNHf-P_Lzokk0k-NPRV2F3I9U9Mhkv6TiuVc.css
[ab52e82b13b45c0f8cd074c0a752854592a364a4db7a3144c741b02d7d42794b] => public://css/css_PGbJgHCUCBf4dg7K9Kt8aAwsApndP4GZ9RuToPy3-Fk.css
[6f0d17830124c9db2c06fb3976a017b9734bdb38fd307f0fca181bf314a69256] => public://css/css_tGCIIXn7twU9gc4BiEMVuBXN6nsdSwOjeHDAK-IXDWA.css
[65ee581e47f3fa6c6ad7d9c021aae3ab51269e7a47a27e11b956611681626cb2] => public://css/css_gtnXCHMNJErLF7rozM4J6Nv_etP7cu_Z1dfkJHOui_Q.css
[909af35150eb7139d06194ea5dea2b787c713a932e9cb63c8bb7931a655758dc] => public://css/css_5aUiVWbKsqFuoHALvw3IkbfsjdeDBC98c2Z7GrCGSyg.css
[f05494fc83c9c8e2c74180252d01c9ea50f347143d606c3ea4a216ea0f24ce6e] => public://css/css_BR3eb_ceEn8jEAv9rAj8_gjpfC6A1BpCm8JGn5sUfnY.css
[4a6c11ec8b1e484d0c98115a6ee9776d7e46d18f3ddb06fb1206ccf6a3a47782] => public://css/css_3ZeX6scv29Q9W6Bfiaf7vgV0xQF7IgT2cx5a4oG8ur4.css
[1994d8b7150d1c09340786784a5f1f938fb88c8462ce22d7477e668eb508bff0] => public://css/css_Oow34ATb_XaszZiGkdFAsUPU184thRaZLKLZIwN5Lbw.css
[fb99f59634ca50e0fba4e84e68023155e5b29a96985d8a76309ce0a0db1009a9] => public://css/css_q5ec_udOLdLV_onOkK1Eku0_z9QKGZqKQBJk_s1nj9k.css
[bda7f6b5c7d4d217da8c211753e7e6cded40d4482b29ab832cea08b425987db7] => public://css/css_JsNrhTrv96uO_ECAcja2-aAZgozGslyfksQWxmC7MjY.css
[4da1a49abda886fd43159e02a74346ec3d2b87ad18b19ea33aa5417fb272a94e] => public://css/css_vQ4lFmFNGA3ez0ifgYoERX5IWbPK-zlvj5_fKfwSMyI.css
[73a112543a0217285f9e8043d9c48234b0868f6f5127a40a84c2d6ca6d0e30d8] => public://css/css_-1qKftcmPYmFHNoDVkFPe4jutDpQvFDU6rdsd5Mfuto.css
[4de0c1fcda82e7e9c3804c03d0288c1209dd8bed145ffb49f2b46988c6a243ff] => public://css/css_3E_lU9AW-mJkoPj8ifdrJRdVNalgk9Sqp_MnsaMH6Ps.css
)
[drupal_http_request_fails] =>
[drupal_js_cache_files] => Array
(
[d5d0c864c1e2c5c8ecb33cfe74138a84c029ca735323ac2c2e4900b5aa80e15c] => public://js/js_yMSKTzBO0KmozyLwajzFOrrt_kto_9mtccAkb0rm7gc.js
[111d860265abe08204bdf363fb75e432b0104dd26ec9ad3853b748098098279b] => public://js/js_KCd8rbJYUruV1tRJnh4um34UYvyhlrSVCPR1jNko2h8.js
[6e7764b4689519eea37a753cec329408e6482036a776797fdc47269188a59d53] => public://js/js_CjgB5PIyklVqKRWqFwkp3KgnU0HxockOpAEL3e1jkdQ.js
[5a5773ec0d4cdd3579c4290589afe4bcd3d023e8db32f5287fdd0fc6ce06c12e] => public://js/js_-uQx0zVjW9KSa0FRBm_IuQEDDXM8iMTcyQUPCXtCSfo.js
[d73b2ad221e8f0cadec5188d4e7d9e15d6fffd23faed1998d379097398ff07b3] => public://js/js_zrRWKhIx4rRMPEy3buhYepP5lIl0v_epHqDgC47NEtE.js
[06855983a4d9db9e23766ab3a1b69320a2808eed22b59231143193e018312442] => public://js/js_PtzyVeGAT46uZ0lMVgHBLuHKs_uMkpYepbM-OzexvSI.js
[972adc27bdddfd25dd31a30d3d68ff819df8274e546405cfe0fc25a30e91ea4b] => public://js/js_xkNJAsxwivLkU0oHKFDq0WWS98raDZFJtIqyf_bX3h8.js
[cb7ab45f9cbbb0d92cbb136293bd20ad079d066e1a3514e9ad110981b06691c1] => public://js/js_38VWQ3jjQx0wRFj7gkntZr077GgJoGn5nv3v05IeLLo.js
[05f1026dc8d520145ea1fec3b18b580cf860bc9b9185eabce8dce8510daa99bb] => public://js/js_PFdoTZ5D701F0dI0ZX-q11hiM8aly95BjvzgvC7jWrk.js
[0fa1ad633e9553c209aae99ee217fb856d92b3d958431b6e4bb2c690bb8244ef] => public://js/js__jX-421-4YklcScNZwKdLnfLkyOwmcfNfn3Flk4LXJU.js
[1a30c351624a627553d78983ad986922fa2576d2391858497e3ca6bb022b6015] => public://js/js_CC-zfeuQHcDhFtVRuKW53h30TL7j_105J32Nz8b8R38.js
[1af6dc1f7e5d718cb7bf3c3e4c27c5a392efb399ea3db56b93c10f32f1f05473] => public://js/js_0XukeTChGgXCHSovVcM3xiCnbVBwa0fXACGPfo_pnP0.js
[290924b1ade61e1b54581f138826f07e6992ef71cd4778ee353dde95f7fe41ab] => public://js/js_l98f0r1XYfmIe3FnshqRzfDysmHNzkZXBIj8D8gO5JM.js
[031199fce268bdab1a55ea7c29b722aebde576b5bc9053614a997f1541093669] => public://js/js_VudkxYYwJJFPSxHnCwmxQ59Zejgp-5OVDMgR83Wnv4U.js
[04f0eb203d5f8adcffd66c8e3784567708dd13946df038849bed100eb3edbc7e] => public://js/js_YKbk9-kDSS-Tt-1JLrV-ROmEleKaEw_evc65yl_4U_0.js
[5ee79f9a3ae07627ef8f31f212a310dbb62ace80601d58e2ee3ec6c18462d508] => public://js/js_mMuSdRh5NeaBYvACFdfxYZFykbM62b1Ir0OkbP8m74A.js
[043fa6b738a3871698fa3a0c85b87c8eddd93ba0fad572adf5b19151f30398ed] => public://js/js_MRtcp-QQFNNvR2HH1o5B6z7sRKMM0wHClTmZ66zTYkg.js
[60d5213d6cceac6af9fa98a383122fcbacec2020dce32ad2d68ade9e558d0065] => public://js/js_tC5m6azM9m2bCqibaRzWxUPXPzbLNPOHloyZQS1gWQE.js
[4aaf154e1d88c882f9b44998b444a291e422e5f764d22e465a973f405d12632f] => public://js/js_do6acYw1EVQsluyfs5D5-Eds56R64JqtwJBVXafzI2g.js
[5df3e2f5197f6bc554fc8765bad8809b622e7e4eed12b82758257939c1e803ac] => public://js/js_l2dFYWhiKPGYqPcTVqeUaXzWkM9XCFJEJYwBtlHzQuY.js
[62b9d4e66f566de4661c6417c82b71885efcd5c19479ef160a1550817ef7c002] => public://js/js_qek3V4n_ppYl1XmZVyTLSE4r3TdFeTUGkjA1m2fAuVQ.js
[8fb2668cde4fdfe759d7dedbe96ba93d99d08fac0442ddd3b6792f903645d103] => public://js/js_0AGwY9Uj64s8IBzIZqKVeXRotXC8ohRppCzam6tqXUo.js
[ab370f121801863240a311896df746339307e6809aa2d560e0a9ccf206dad56e] => public://js/js_oEcLFi0M2hh-qfHl5gg3am2lDNWtsOhqKojkUVCUa5M.js
[ab825633a66c1131c2525d95d738171329fba852993dccf14838f0ada6242ff0] => public://js/js_IkgOrrVZK1UTp2HktvFi5vo1g7b25Muyr5GoySikuic.js
)
[drupal_private_key] => 4QCRTR8E0NeXW7BcITaA7dmJ_6X7Yc6L9KHQpkBo0MA
[email__active_tab] =>
[error_level] => 2
[feed_default_items] => 10
[feed_description] =>
[feed_item_length] => teaser
[field_bundle_settings_comment__comment_node_blog_post] => Array
(
[view_modes] => Array
(
[full] => Array
(
[custom_settings] =>
)
[token] => Array
(
[custom_settings] =>
)
)
[extra_fields] => Array
(
[form] => Array
(
)
[display] => Array
(
)
)
)
[field_bundle_settings_node__blog_post] => Array
(
[view_modes] => Array
(
[full] => Array
(
[custom_settings] => 1
)
[teaser] => Array
(
[custom_settings] => 1
)
[rss] => Array
(
[custom_settings] => 1
)
[search_index] => Array
(
[custom_settings] =>
)
[search_result] => Array
(
[custom_settings] =>
)
[token] => Array
(
[custom_settings] =>
)
[revision] => Array
(
[custom_settings] =>
)
)
[extra_fields] => Array
(
[form] => Array
(
[title] => Array
(
[weight] => 0
)
[path] => Array
(
[weight] => 1
)
)
[display] => Array
(
)
)
)
[field_bundle_settings_taxonomy_term__category] => Array
(
[view_modes] => Array
(
[full] => Array
(
[custom_settings] =>
)
[token] => Array
(
[custom_settings] =>
)
)
[extra_fields] => Array
(
[form] => Array
(
)
[display] => Array
(
[description] => Array
(
[default] => Array
(
[weight] => 0
[visible] => 1
)
)
)
)
)
[file_default_scheme] => public
[file_private_path] =>
[file_public_path] => sites/default/files
[file_temporary_path] => /home/cdelaney/tmp
[filter_fallback_format] => plain_text
[install_profile] => standard
[install_task] => done
[install_time] => 1379393810
[maintenance_mode] => 0
[maintenance_mode_message] => This site is currently under maintenance. We should be back shortly. Thank you for your patience.
[menu_expanded] => Array
(
)
[menu_masks] => Array
(
[0] => 501
[1] => 493
[2] => 250
[3] => 247
[4] => 246
[5] => 245
[6] => 126
[7] => 125
[8] => 124
[9] => 123
[10] => 122
[11] => 121
[12] => 117
[13] => 63
[14] => 62
[15] => 61
[16] => 60
[17] => 59
[18] => 58
[19] => 44
[20] => 31
[21] => 30
[22] => 29
[23] => 28
[24] => 24
[25] => 21
[26] => 15
[27] => 14
[28] => 13
[29] => 11
[30] => 7
[31] => 6
[32] => 5
[33] => 3
[34] => 2
[35] => 1
)
[menu_options_article] => Array
(
[0] => main-menu
)
[menu_options_blog_post] => Array
(
[0] => main-menu
)
[menu_parent_article] => main-menu:0
[menu_parent_blog_post] => main-menu:0
[mollom_log_minimum_severity] => 6
[node_admin_theme] => 1
[node_cron_last] => 1626246318
[node_options_article] => Array
(
[0] => status
[1] => promote
)
[node_options_blog_post] => Array
(
[0] => status
)
[node_options_page] => Array
(
[0] => status
)
[node_preview_article] => 1
[node_preview_blog_post] => 1
[node_submitted_article] => 1
[node_submitted_blog_post] => 1
[node_submitted_page] =>
[page_cache_maximum_age] => 0
[page_compression] => 1
[pathauto_blog_pattern] => blogs/[user:name]
[pathauto_case] => 1
[pathauto_forum_pattern] => [term:vocabulary]/[term:name]
[pathauto_ignore_words] =>
[pathauto_max_component_length] => 100
[pathauto_max_length] => 100
[pathauto_node_article_pattern] => article/[node:title]
[pathauto_node_blog_post_pattern] => blog/[node:title]
[pathauto_node_page_pattern] => page/[node:title]
[pathauto_node_pattern] => [node:title]
[pathauto_punctuation_ampersand] => 0
[pathauto_punctuation_asterisk] => 0
[pathauto_punctuation_at] => 0
[pathauto_punctuation_backtick] => 0
[pathauto_punctuation_back_slash] => 0
[pathauto_punctuation_caret] => 0
[pathauto_punctuation_colon] => 0
[pathauto_punctuation_comma] => 0
[pathauto_punctuation_dollar] => 0
[pathauto_punctuation_double_quotes] => 0
[pathauto_punctuation_equal] => 0
[pathauto_punctuation_exclamation] => 0
[pathauto_punctuation_greater_than] => 0
[pathauto_punctuation_hash] => 0
[pathauto_punctuation_hyphen] => 1
[pathauto_punctuation_left_curly] => 0
[pathauto_punctuation_left_parenthesis] => 0
[pathauto_punctuation_left_square] => 0
[pathauto_punctuation_less_than] => 0
[pathauto_punctuation_percent] => 0
[pathauto_punctuation_period] => 0
[pathauto_punctuation_pipe] => 0
[pathauto_punctuation_plus] => 0
[pathauto_punctuation_question_mark] => 0
[pathauto_punctuation_quotes] => 0
[pathauto_punctuation_right_curly] => 0
[pathauto_punctuation_right_parenthesis] => 0
[pathauto_punctuation_right_square] => 0
[pathauto_punctuation_semicolon] => 0
[pathauto_punctuation_slash] => 0
[pathauto_punctuation_tilde] => 0
[pathauto_punctuation_underscore] => 0
[pathauto_reduce_ascii] => 0
[pathauto_separator] => -
[pathauto_taxonomy_term_category_pattern] => category/[term:parents:join-path]/[term:name]
[pathauto_taxonomy_term_pattern] => [term:vocabulary]/[term:name]
[pathauto_taxonomy_term_tags_pattern] =>
[pathauto_transliterate] =>
[pathauto_update_action] => 2
[pathauto_user_pattern] => users/[user:name]
[pathauto_verbose] => 0
[path_alias_whitelist] => Array
(
[node] => 1
[taxonomy] => 1
[user] => 1
)
[preprocess_css] => 1
[preprocess_js] => 1
[save_continue_blog_post] => Save and add fields
[settings__active_tab] => edit-visibility
[site_default_country] => US
[site_mail] => web@cdelaney.com
[site_name] => Colm Delaney
[theme_cdelaney2013_settings] => Array
(
[toggle_logo] => 1
[toggle_name] => 1
[toggle_slogan] => 1
[toggle_node_user_picture] => 1
[toggle_comment_user_picture] => 1
[toggle_comment_user_verification] => 1
[toggle_favicon] => 1
[toggle_main_menu] => 1
[toggle_secondary_menu] => 1
[default_logo] => 1
[logo_path] =>
[logo_upload] =>
[default_favicon] => 0
[favicon_path] => images/favicon-01.png
[favicon_upload] =>
[scheme] => default
[palette] => Array
(
[top] => #0779bf
[bottom] => #48a9e4
[bg] => #ffffff
[sidebar] => #f6f6f2
[sidebarborders] => #f9f9f9
[footer] => #292929
[titleslogan] => #fffeff
[text] => #3b3b3b
[link] => #0071B3
)
[theme] => cdelaney2013
[info] => Array
(
[fields] => Array
(
[top] => Header top
[bottom] => Header bottom
[bg] => Main background
[sidebar] => Sidebar background
[sidebarborders] => Sidebar borders
[footer] => Footer background
[titleslogan] => Title and slogan
[text] => Text color
[link] => Link color
)
[schemes] => Array
(
[default] => Array
(
[title] => Blue Lagoon (default)
[colors] => Array
(
[top] => #0779bf
[bottom] => #48a9e4
[bg] => #ffffff
[sidebar] => #f6f6f2
[sidebarborders] => #f9f9f9
[footer] => #292929
[titleslogan] => #fffeff
[text] => #3b3b3b
[link] => #0071B3
)
)
[firehouse] => Array
(
[title] => Firehouse
[colors] => Array
(
[top] => #cd2d2d
[bottom] => #cf3535
[bg] => #ffffff
[sidebar] => #f1f4f0
[sidebarborders] => #ededed
[footer] => #1f1d1c
[titleslogan] => #fffeff
[text] => #3b3b3b
[link] => #d6121f
)
)
[ice] => Array
(
[title] => Ice
[colors] => Array
(
[top] => #d0d0d0
[bottom] => #c2c4c5
[bg] => #ffffff
[sidebar] => #ffffff
[sidebarborders] => #cccccc
[footer] => #24272c
[titleslogan] => #000000
[text] => #4a4a4a
[link] => #019dbf
)
)
[plum] => Array
(
[title] => Plum
[colors] => Array
(
[top] => #4c1c58
[bottom] => #593662
[bg] => #fffdf7
[sidebar] => #edede7
[sidebarborders] => #e7e7e7
[footer] => #2c2c28
[titleslogan] => #ffffff
[text] => #301313
[link] => #9d408d
)
)
[slate] => Array
(
[title] => Slate
[colors] => Array
(
[top] => #4a4a4a
[bottom] => #4e4e4e
[bg] => #ffffff
[sidebar] => #ffffff
[sidebarborders] => #d0d0d0
[footer] => #161617
[titleslogan] => #ffffff
[text] => #3b3b3b
[link] => #0073b6
)
)
[] => Array
(
[title] => Custom
[colors] => Array
(
)
)
)
[css] => Array
(
[0] => css/colors.css
)
[copy] => Array
(
[0] => logo.png
)
[gradients] => Array
(
[0] => Array
(
[dimension] => Array
(
[0] => 0
[1] => 0
[2] => 0
[3] => 0
)
[direction] => vertical
[colors] => Array
(
[0] => top
[1] => bottom
)
)
)
[fill] => Array
(
)
[slices] => Array
(
)
[blend_target] => #ffffff
[preview_css] => color/preview.css
[preview_js] => color/preview.js
[preview_html] => color/preview.html
[base_image] => color/base.png
)
[favicon_mimetype] => image/png
)
[theme_default] => cdelaney2013
[update_check_disabled] => 0
[update_check_frequency] => 7
[update_last_check] => 1701853389
[update_last_email_notification] => 1701682499
[update_notification_threshold] => security
[update_notify_emails] => Array
(
[0] => web@cdelaney.com
)
[user_admin_role] => 3
[user_cancel_method] => user_cancel_block
[user_email_verification] => 1
[user_mail_cancel_confirm_body] => [user:name],
A request to cancel your account has been made at [site:name].
You may now cancel your account on [site:url-brief] by clicking this link or copying and pasting it into your browser:
[user:cancel-url]
NOTE: The cancellation of your account is not reversible.
This link expires in one day and nothing will happen if it is not used.
-- [site:name] team
[user_mail_cancel_confirm_subject] => Account cancellation request for [user:name] at [site:name]
[user_mail_password_reset_body] => [user:name],
A request to reset the password for your account has been made at [site:name].
You may now log in by clicking this link or copying and pasting it to your browser:
[user:one-time-login-url]
This link can only be used once to log in and will lead you to a page where you can set your password. It expires after one day and nothing will happen if it's not used.
-- [site:name] team
[user_mail_password_reset_subject] => Replacement login information for [user:name] at [site:name]
[user_mail_register_admin_created_body] => [user:name],
A site administrator at [site:name] has created an account for you. You may now log in by clicking this link or copying and pasting it to your browser:
[user:one-time-login-url]
This link can only be used once to log in and will lead you to a page where you can set your password.
After setting your password, you will be able to log in at [site:login-url] in the future using:
username: [user:name]
password: Your password
-- [site:name] team
[user_mail_register_admin_created_subject] => An administrator created an account for you at [site:name]
[user_mail_register_no_approval_required_body] => [user:name],
Thank you for registering at [site:name]. You may now log in by clicking this link or copying and pasting it to your browser:
[user:one-time-login-url]
This link can only be used once to log in and will lead you to a page where you can set your password.
After setting your password, you will be able to log in at [site:login-url] in the future using:
username: [user:name]
password: Your password
-- [site:name] team
[user_mail_register_no_approval_required_subject] => Account details for [user:name] at [site:name]
[user_mail_register_pending_approval_body] => [user:name],
Thank you for registering at [site:name]. Your application for an account is currently pending approval. Once it has been approved, you will receive another e-mail containing information about how to log in, set your password, and other details.
-- [site:name] team
[user_mail_register_pending_approval_subject] => Account details for [user:name] at [site:name] (pending admin approval)
[user_mail_status_activated_body] => [user:name],
Your account at [site:name] has been activated.
You may now log in by clicking this link or copying and pasting it into your browser:
[user:one-time-login-url]
This link can only be used once to log in and will lead you to a page where you can set your password.
After setting your password, you will be able to log in at [site:login-url] in the future using:
username: [user:name]
password: Your password
-- [site:name] team
[user_mail_status_activated_notify] => 1
[user_mail_status_activated_subject] => Account details for [user:name] at [site:name] (approved)
[user_mail_status_blocked_body] => [user:name],
Your account on [site:name] has been blocked.
-- [site:name] team
[user_mail_status_blocked_notify] => 0
[user_mail_status_blocked_subject] => Account details for [user:name] at [site:name] (blocked)
[user_mail_status_canceled_body] => [user:name],
Your account on [site:name] has been canceled.
-- [site:name] team
[user_mail_status_canceled_notify] => 0
[user_mail_status_canceled_subject] => Account details for [user:name] at [site:name] (canceled)
[user_pictures] => 1
[user_picture_default] =>
[user_picture_dimensions] => 1024x1024
[user_picture_file_size] => 800
[user_picture_guidelines] =>
[user_picture_path] => pictures
[user_picture_style] => thumbnail
[user_register] => 0
[user_signatures] => 0
[views_defaults] => Array
(
[comments_recent] =>
)
[404_fast_paths_exclude] => /\/(?:styles)\//
[404_fast_paths] => /\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i
[404_fast_html] => 404 Not FoundNot Found
The requested URL "@path" was not found on this server.
)
[installed_profile] =>
[update_free_access] =>
[db_url] =>
[db_prefix] =>
[drupal_hash_salt] => xgnl9vW8fpMx7Pr5oSv8Hx6fSCehWlieeg0xAF3CCTA
[is_https] => 1
[base_secure_url] => https://www.cdelaney.com
[base_insecure_url] => http://www.cdelaney.com
[user] => stdClass Object
(
[uid] => 0
[hostname] => 3.80.4.147
[roles] => Array
(
[1] => anonymous user
)
[cache] => 0
)
[locks] => Array
(
)
[lazy_session] => 1
[language] => stdClass Object
(
[language] => en
[name] => English
[native] => English
[direction] => 0
[enabled] => 1
[plurals] => 0
[formula] =>
[domain] =>
[prefix] =>
[weight] => 0
[javascript] =>
[dir] => ltr
)
[language_content] => stdClass Object
(
[language] => en
[name] => English
[native] => English
[direction] => 0
[enabled] => 1
[plurals] => 0
[formula] =>
[domain] =>
[prefix] =>
[weight] => 0
[javascript] =>
[dir] => ltr
)
[language_url] => stdClass Object
(
[language] => en
[name] => English
[native] => English
[direction] => 0
[enabled] => 1
[plurals] => 0
[formula] =>
[domain] =>
[prefix] =>
[weight] => 0
[javascript] =>
[dir] => ltr
)
[multibyte] => 1
[theme] => cdelaney2013
[base_theme_info] => Array
(
)
[drupal_test_info] =>
[theme_key] => cdelaney2013
[theme_info] => stdClass Object
(
[filename] => sites/all/themes/cdelaney2013/cdelaney2013.info
[name] => cdelaney2013
[type] => theme
[owner] => themes/engines/phptemplate/phptemplate.engine
[status] => 1
[bootstrap] => 0
[schema_version] => -1
[weight] => 0
[info] => Array
(
[name] => Colm Delaney 2013
[description] => A simple theme, designed to integrate with an existing static site.
[core] => 7.x
[regions] => Array
(
[header] => Header
[help] => Help
[page_top] => Page top
[page_bottom] => Page bottom
[highlight] => Highlighted
[sidebar_first] => Sidebar first
[content] => Content
[sidebar_last] => Sidebar second
[footer] => Footer
[dashboard_main] => Dashboard (main)
[dashboard_sidebar] => Dashboard (sidebar)
[dashboard_inactive] => Dashboard (inactive)
)
[engine] => phptemplate
[features] => Array
(
[0] => logo
[1] => favicon
[2] => name
[3] => slogan
[4] => node_user_picture
[5] => comment_user_picture
[6] => comment_user_verification
[7] => main_menu
[8] => secondary_menu
)
[screenshot] => sites/all/themes/cdelaney2013/screenshot.png
[php] => 5.2.4
[stylesheets] => Array
(
)
[scripts] => Array
(
)
[mtime] => 1388095829
[overlay_regions] => Array
(
[0] => dashboard_main
[1] => dashboard_sidebar
[2] => dashboard_inactive
[3] => content
[4] => help
)
[regions_hidden] => Array
(
[0] => page_top
[1] => page_bottom
)
)
[prefix] => phptemplate
[engine] => phptemplate
)
[theme_engine] => phptemplate
[theme_path] => sites/all/themes/cdelaney2013
[_options] => Array
(
[custom_functions] => Array
(
[output_tag_meta_1] => custom_output_tag_meta_1
[output_tag_css_global] => custom_output_tag_css_global
[output_postamble] => custom_output_postamble
)
)
[js_lib_files] => Array
(
[jquery] => jquery-1.4.2.js
[lightbox] => jquery.lightbox.min.js
[equalcols] => jquery.equalizecols.js
[opacity] => jquery.opaqueChildren.js
[pngfix] => jquery.pngFix.js
[jloader] => jquery.jloader.js
[swfobject] => jquery.swfobject.1-0-7.js
[obfuscate] => jquery.obfuscate.js
[csstarget] => csstarget.js
[cycle] => jquery.cycle.js
[popupwindow] => jquery.popupWindow.js
[tablesorter] => jquery.tablesorter.js
[validate] => jquery.validate.min.js
[additional-methods] => additional-methods.min.js
[snowfall] => snowfall.js
[snowfall-standard] => snowfall-standard.js
[snowfall-jquery] => snowfall-jquery.min.js
[cdelaney] => cdelaney.js
)
[_testvar] => apricot
[_testvar2] =>
[_nav] => Array
(
[0] => Array
(
[link_label] => Home
[path] => /
[page_title] => Colm Delaney
[h1] =>
[menu] => Main, Utility
[slug] => home
[description] => Colm Delaney, based in Seattle, provides web design, development, and consulting services.
[path_edited] => /
[level] => 0
[has_children] =>
)
[1] => Array
(
[link_label] => About
[path] => /about/
[page_title] => About
[h1] => About
[menu] => Main, Utility, Footer
[slug] => about
[description] => Colm Delaney's background, educational and professional history, experience, and design philosophy.
[path_edited] => about/
[level] => 1
[has_children] =>
)
[2] => Array
(
[link_label] => Work
[path] => /work/
[page_title] => Work
[h1] => Work
[menu] => Main, Utility, Footer
[slug] => work
[description] => View selected examples of Colm Delaney's completed web projects, including case studies.
[path_edited] => work/
[level] => 1
[has_children] =>
)
[3] => Array
(
[link_label] => Blog
[path] => /blog/
[page_title] => Blog
[h1] => Blog
[menu] => Main
[slug] => blog
[description] =>
[path_edited] => blog/
[level] => 1
[has_children] =>
)
[4] => Array
(
[link_label] => Contact
[path] => /contact/
[page_title] => Contact
[h1] => Contact
[menu] => Main, Utility, Footer
[slug] => contact
[description] => Contact Colm Delaney by email, phone, mail, and social media.
[path_edited] => contact/
[level] => 1
[has_children] =>
)
[5] => Array
(
[link_label] => Other
[path] => /other/
[page_title] => Other
[h1] => Other
[menu] =>
[slug] => other
[description] =>
[path_edited] => other/
[level] => 1
[has_children] =>
)
[6] => Array
(
[link_label] => Template
[path] => /template/
[page_title] => Template
[h1] => Template
[menu] =>
[slug] => template
[description] =>
[path_edited] => template/
[level] => 1
[has_children] =>
)
)
[_breadcrumbs] => Array
(
)
[_test] =>
[_page_data] => Array
(
[id] => blog-browser-detection-with-jquery
[page_title] => Blog
[h1] =>
[parent_slug] => blog
[class_string] => blog
[level] => 1
[meta_description_edited] =>
)
)
https://cdn.cdelaney.com/js/cdelaney.js is a CDN URL
live
/
$fileurl_equivalent: /js/cdelaney.js