window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/","svgExt":".svg","source":{"concatemoji":"\/\/www.lightstalking.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=00ee2dc9c4a47c0421c3a1063c12ecee"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c\udfff","\ud83e\udef1\ud83c\udffb\u200b\ud83e\udef2\ud83c\udfff")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings);
window.advanced_ads_ready=function(e,a){a=a||"complete";var d=function(e){return"interactive"===a?"loading"!==e:"complete"===e};d(document.readyState)?e():document.addEventListener("readystatechange",(function(a){d(a.target.readyState)&&e()}),{once:"interactive"===a})},window.advanced_ads_ready_queue=window.advanced_ads_ready_queue||[];
//www.lightstalking.com/wp-includes/js/jquery/jquery.min.js
//www.lightstalking.com/wp-includes/js/jquery/jquery-migrate.min.js
var breeze_prefetch = {"local_url":"https:\/\/www.lightstalking.com","ignore_remote_prefetch":"1","ignore_list":["\/wp-admin\/"]};
//www.lightstalking.com/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js
//www.lightstalking.com/wp-content/plugins/intelly-countdown-pro/assets/deps/moment/moment.js
//www.lightstalking.com/wp-content/plugins/intelly-countdown-pro/assets/js/icp.library.js
var preloader_plus = {"animation_delay":"500","animation_duration":"1000"};
//www.lightstalking.com/wp-content/plugins/preloader-plus//assets/js/preloader-plus.min.js
//www.lightstalking.com/wp-content/plugins/wp-user-avatar/assets/flatpickr/flatpickr.min.js
//www.lightstalking.com/wp-content/plugins/wp-user-avatar/assets/select2/select2.min.js
//www.lightstalking.com/wp-content/plugins/tag-groups/assets/js/frontend.min.js
var advads_options = {"blog_id":"1","privacy":{"enabled":false,"state":"not_needed"}};
//www.lightstalking.com/wp-content/plugins/advanced-ads/public/assets/js/advanced.min.js
var advanced_ads_pro_visitor_conditions = {"referrer_cookie_name":"advanced_ads_pro_visitor_referrer","referrer_exdays":"365","page_impr_cookie_name":"advanced_ads_page_impressions","page_impr_exdays":"3650"};
//www.lightstalking.com/wp-content/plugins/advanced-ads-pro/modules/advanced-visitor-conditions/inc/conditions.min.js
//www.lightstalking.com/wp-content/themes/lightstalking/assets/js/index.js
document.createElement( "picture" );if(!window.HTMLPictureElement && document.addEventListener) {window.addEventListener("DOMContentLoaded", function() {var s = document.createElement("script");s.src = "https://www.lightstalking.com/wp-content/plugins/webp-express/js/picturefill.min.js";document.body.appendChild(s);});}
var essb_settings = {"ajax_url":"https:\/\/www.lightstalking.com\/wp-admin\/admin-ajax.php","essb3_nonce":"55676fcecb","essb3_plugin_url":"https:\/\/www.lightstalking.com\/wp-content\/plugins\/easy-social-share-buttons3","essb3_stats":true,"essb3_ga":false,"essb3_ga_ntg":false,"blog_url":"https:\/\/www.lightstalking.com\/","post_id":"341950"};
https://www.lightstalking.com/wp-content/uploads/breeze/google/gtag.js
!function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1079708588874183'); fbq('track', 'PageView');
var head = document.head;var script = document.createElement('script');script.type = 'text/javascript';script.src = "https://178444.tracking.hyros.com/v1/lst/universal-script?ph=6df64206c166a45894d8b8d2beeed3f98ece187ef7e83c10a2acca9a68e688a5&tag=!tracking";head.appendChild(script);
(function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "jzjsbgih7m");
var advadsCfpQueue = []; var advadsCfpAd = function( adID ){ if ( 'undefined' == typeof advadsProCfp ) { advadsCfpQueue.push( adID ) } else { advadsProCfp.addElement( adID ) } };
document.documentElement.className = document.documentElement.className.replace( 'no-js', 'js' );
Skip to the content
Light Stalking
Illuminating Your Passion
  • Home
    • Photography for Beginners
    • Photo Genres
      • Abstract Photography
      • Action and Sports Photography
      • Adventure & Travel Photography
      • Architecture Photography
      • Black and White Photography
      • Food Photography
      • Indoor Photography
      • Landscape Photography
      • Macro Photography
      • Portrait Photography
      • Street Photography
      • Wildlife Photography
    • Camera Craft
    • Camera Gear
      • Camera Bodies
      • Camera Lenses
    • Photographic Composition
    • Photography Deals
    • Photography News
    • Photography Opinion Pieces
    • Photography Post Production
      • Lightroom
      • Photoshop
    • Understanding Light
    • Videography
  • My Studio
  • Forums
    • Latest
  • Presets
  • Freebies
  • Home
    • Photography for Beginners
    • Photo Genres
      • Abstract Photography
      • Action and Sports Photography
      • Adventure & Travel Photography
      • Architecture Photography
      • Black and White Photography
      • Food Photography
      • Indoor Photography
      • Landscape Photography
      • Macro Photography
      • Portrait Photography
      • Street Photography
      • Wildlife Photography
    • Camera Craft
    • Camera Gear
      • Camera Bodies
      • Camera Lenses
    • Photographic Composition
    • Photography Deals
    • Photography News
    • Photography Opinion Pieces
    • Photography Post Production
      • Lightroom
      • Photoshop
    • Understanding Light
    • Videography
  • My Studio
  • Forums
    • Latest
  • Presets
  • Freebies

Author: Dennis Drenner

Dennis Drenner is a Baltimore-based portrait and event photographer and photojournalist. He has photographed over 400 weddings, completed thousands of portraits, and worked for clients such as the New York Times, Washington Post, American Red Cross, Lululemon Clothing Stores, and JP Morgan Bank. His work has won awards in the Pictures-of-the-Year competition, three Maryland State Arts Council grants and two Fulbright Fellowships.

You can see his work at www.districtportraits.com, www.dennisdrennerphotographs.com and weddings.dennisdrenner.com.

5 Tips for Capturing Street Portraits On A White Background

Portrait Photography
By Dennis Drenner / July 29, 2018

See Dennis Drenner’s amazing street photography and learn 5 tips from Dennis on how to capture amazing portraits like these.

  Tips
  • Companies
  • Skills
Adobe Apple Canon Casio Cokin Fujifilm Hasselblad Holga Kenko Kodak Leica Lensbaby Lytro Mamiya Nikon Olympus Panasonic Pentax Phase One Polaroid Profoto Ricoh Samsung Samyang Sigma Singh-Ray Sony Tamron Tiffen Tokina Vivitar Yongnuo Zeiss Zenit
Guides How Tos Ideas Projects Skills Tips Tutorials

About Us

Learn photography with us and read all about Light Stalking and the people behind our photography training here.

  • Write for US
  • Testimonials
  • Privacy Policy
  • Terms of Service
  • Sitemap

Light Stalking participates in various affiliate programs, meaning we may get paid commissions on certain products purchased through our links to other sites.

Contact Us

Drop us an email at [email protected] or you can also find us on the following platforms:

  • Facebook
  • Twitter
  • Flickr
  • Pinterest
  • Youtube
  • Instagram

Marketplace

Our products include training, presets, and tools. Take a look:

  • Adobe Lightroom Presets
  • Photography Training and Education

Guides

  • Milky Way Photography
  • Portrait Photography
  • Astrophotography
  • Landscape Photography
  • Food Photography
  • Wedding Photography
  • Photography for Beginners

Featured Member

One of the people who makes our community great.

Read more about Aurimas here.

if (typeof jQuery !== 'undefined' && typeof jQuery.ui !== 'undefined' && typeof jQuery.ui.tabs !== 'undefined' && typeof jQuery.widget !== 'undefined' && typeof TagGroupsBase !== 'undefined') { TagGroupsBase.tabs('tag-groups-cloud-tabs-6572ade157802', {"active":false}, true); } else { jQuery(document).ready(function(){ setTimeout(function(){ if (typeof jQuery !== 'undefined' && typeof jQuery.ui !== 'undefined' && typeof jQuery.ui.tabs !== 'undefined' && typeof jQuery.widget !== 'undefined') { TagGroupsBase.tabs('tag-groups-cloud-tabs-6572ade157802', {"active":false}, true); } else { console.log('[Tag Groups] Error: jQuery UI Tabs is missing!'); } }, 500); }); }
( $ => { /** * Displays toast message from storage, it is used when the user is redirected after login */ if ( window.sessionStorage ) { $( window ).on( 'tcb_after_dom_ready', () => { const message = sessionStorage.getItem( 'tcb_toast_message' );if ( message ) { tcbToast( sessionStorage.getItem( 'tcb_toast_message' ), false ); sessionStorage.removeItem( 'tcb_toast_message' ); } } ); }/** * Displays toast message * * @param {string} message - message to display * @param {Boolean} error - whether the message is an error or not * @param {Function} callback - callback function to be called after the message is closed */ function tcbToast( message, error, callback ) { /* Also allow "message" objects */ if ( typeof message !== 'string' ) { message = message.message || message.error || message.success; } if ( ! error ) { error = false; } TCB_Front.notificationElement.toggle( message, error ? 'error' : 'success', callback ); } } )( typeof ThriveGlobal === 'undefined' ? jQuery : ThriveGlobal.$j );
(function($) { $('.home #custom-home-more-categories').on("click", function() { $(this).parent('.custom-home-categories').find('.custom-home-categories-list').toggleClass('show'); }); })(jQuery);
//www.lightstalking.com/wp-content/plugins/metronet-profile-picture/js/mpp-frontend.js
var pp_ajax_form = {"ajaxurl":"https:\/\/www.lightstalking.com\/wp-admin\/admin-ajax.php","confirm_delete":"Are you sure?","deleting_text":"Deleting...","deleting_error":"An error occurred. Please try again.","nonce":"6dc4aeaaec","disable_ajax_form":"false","is_checkout":"0","is_checkout_tax_enabled":"0"};
//www.lightstalking.com/wp-content/plugins/wp-user-avatar/assets/js/frontend.min.js
//www.lightstalking.com/wp-includes/js/jquery/ui/core.min.js
//www.lightstalking.com/wp-includes/js/jquery/ui/tabs.min.js
//www.lightstalking.com/wp-includes/js/jquery/ui/accordion.min.js
var advanced_ads_cookies = {"cookie_path":"\/","cookie_domain":""}; var advadsCfpInfo = {"cfpExpHours":"3","cfpClickLimit":"3","cfpBan":"7","cfpPath":"","cfpDomain":"www.lightstalking.com"};
//www.lightstalking.com/wp-content/plugins/advanced-ads-pro/assets/js/advanced-ads-pro.min.js
var beloadmore = {"url":"https:\/\/www.lightstalking.com\/wp-admin\/admin-ajax.php","query":{"post__not_in":[87558],"category_name":"portrait","posts_per_page":3}};
//www.lightstalking.com/wp-content/themes/lightstalking/assets/js/load-more.js
var tve_dash_front = {"ajaxurl":"https:\/\/www.lightstalking.com\/wp-admin\/admin-ajax.php","force_ajax_send":"1","is_crawler":"","recaptcha":[],"post_id":"341950"};
//www.lightstalking.com/wp-content/plugins/thrive-visual-editor/thrive-dashboard/js/dist/frontend.min.js
var tcb_current_post_lists=JSON.parse('[]'); var tcb_post_lists=tcb_post_lists?[...tcb_post_lists,...tcb_current_post_lists]:tcb_current_post_lists;
/(trident|msie)/i.test(navigator.userAgent)&&document.getElementById&&window.addEventListener&&window.addEventListener("hashchange",function(){var t,e=location.hash.substring(1);/^[A-z0-9_-]+$/.test(e)&&(t=document.getElementById(e))&&(/^(?:a|select|input|button|textarea)$/i.test(t.tagName)||(t.tabIndex=-1),t.focus())},!1);
if ( !window.TL_Const ) {var TL_Const={"security":"d6c2037c9c","ajax_url":"https:\/\/www.lightstalking.com\/wp-admin\/admin-ajax.php","action_conversion":"tve_leads_ajax_conversion","action_impression":"tve_leads_ajax_impression","custom_post_data":[],"current_screen":{"screen_type":6,"screen_id":0},"ignored_fields":["email","_captcha_size","_captcha_theme","_captcha_type","_submit_option","_use_captcha","g-recaptcha-response","__tcb_lg_fc","__tcb_lg_msg","_state","_form_type","_error_message_option","_back_url","_submit_option","url","_asset_group","_asset_option","mailchimp_optin","tcb_token","tve_labels","tve_mapping","_api_custom_fields","_sendParams","_autofill"],"ajax_load":1};} else { window.TL_Front && TL_Front.extendConst && TL_Front.extendConst({"security":"d6c2037c9c","ajax_url":"https:\/\/www.lightstalking.com\/wp-admin\/admin-ajax.php","action_conversion":"tve_leads_ajax_conversion","action_impression":"tve_leads_ajax_impression","custom_post_data":[],"current_screen":{"screen_type":6,"screen_id":0},"ignored_fields":["email","_captcha_size","_captcha_theme","_captcha_type","_submit_option","_use_captcha","g-recaptcha-response","__tcb_lg_fc","__tcb_lg_msg","_state","_form_type","_error_message_option","_back_url","_submit_option","url","_asset_group","_asset_option","mailchimp_optin","tcb_token","tve_labels","tve_mapping","_api_custom_fields","_sendParams","_autofill"],"ajax_load":1})}
window.advads_admin_bar_items = [];
var TVE_Ult_Data = {"ajaxurl":"https:\/\/www.lightstalking.com\/wp-admin\/admin-ajax.php","ajax_load_action":"tve_ult_ajax_load","conversion_events_action":"tve_ult_conversion_event","shortcode_campaign_ids":[],"matched_display_settings":[],"campaign_ids":[],"post_id":341950,"is_singular":false,"tu_em":"","evergreen_redirects":[]};
https://www.lightstalking.com/wp-content/plugins/thrive-ultimatum/js/dist/no-campaign.min.js
!function(){window.advanced_ads_ready_queue=window.advanced_ads_ready_queue||[],advanced_ads_ready_queue.push=window.advanced_ads_ready;for(var d=0,a=advanced_ads_ready_queue.length;d<a;d++)advanced_ads_ready(advanced_ads_ready_queue[d])}();
(function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async=true;; po.src = 'https://www.lightstalking.com/wp-content/plugins/easy-social-share-buttons3/lib/modules/conversions-pro/assets/share-conversions-tracker.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();(function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async=true;; po.src = 'https://www.lightstalking.com/wp-content/plugins/easy-social-share-buttons3/assets/modules/pinterest-pro.min.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();(function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async=true;; po.src = 'https://www.lightstalking.com/wp-content/plugins/easy-social-share-buttons3/assets/modules/subscribe-forms.min.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();(function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async=true;; po.src = 'https://www.lightstalking.com/wp-content/plugins/easy-social-share-buttons3/assets/js/essb-core.min.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
var essb_handle_stats = function(oService, oPostID, oInstance) { var element = jQuery('.essb_'+oInstance); var instance_postion = jQuery(element).attr("data-essb-position") || ""; var instance_template = jQuery(element).attr("data-essb-template") || ""; var instance_button = jQuery(element).attr("data-essb-button-style") || ""; var instance_counters = jQuery(element).hasClass("essb_counters") ? true : false; var instance_nostats = jQuery(element).hasClass("essb_nostats") ? true : false; if (instance_nostats) { return; } var instance_mobile = false; if( (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i).test(navigator.userAgent) ) { instance_mobile = true; } if (typeof(essb_settings) != "undefined") { jQuery.post(essb_settings.ajax_url, { 'action': 'essb_stat_log', 'post_id': oPostID, 'service': oService, 'template': instance_template, 'mobile': instance_mobile, 'position': instance_postion, 'button': instance_button, 'counter': instance_counters, 'nonce': essb_settings.essb3_nonce }, function (data) { if (data) { }},'json'); } }; var essb_log_stats_only = function(service, postId, position) { var instance_mobile = false; if( (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i).test(navigator.userAgent) ) { instance_mobile = true; } if (typeof(essb_settings) != "undefined") { jQuery.post(essb_settings.ajax_url, { 'action': 'essb_stat_log', 'post_id': postId, 'service': service, 'template': position, 'mobile': instance_mobile, 'position': position, 'button': position, 'counter': false, 'nonce': essb_settings.essb3_nonce }, function (data) { if (data) { }},'json'); } };
let ccwpDOMLoaded=!1; let ccwp_loaded = false; let resources_length=0; let resources =undefined; let is_last_resource = 0; ccwpUserInteractions=["keydown","mousemove","wheel","touchmove","touchstart","touchend","touchcancel","touchforcechange"]; ccwpUserInteractions.forEach(function(e){ window.addEventListener(e,calculate_load_times); }); function calculate_load_times() { // Check performance support if (performance === undefined) { console.log("Performance NOT supported"); return; } // Get a list of "resource" performance entries resources = performance.getEntriesByType("resource"); if (resources === undefined || resources.length <= 0) { console.log("NO Resource performance records"); } if(resources.length){ resources_length=resources.length; } for(let i=0; i < resources.length; i++) { if(resources[i].responseEnd>0){ is_last_resource = is_last_resource + 1; } } let uag = navigator.userAgent; let gpat = /Google Page Speed Insights/gm; let gres = uag.match(gpat); let cpat = /Chrome-Lighthouse/gm; let cres = uag.match(cpat); let wait_till=300; let new_ua = "Mozilla/5.0 (Linux; Android 11; moto g power (2022)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Mobile Safari/537.36"; let new_ua2 = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"; if(gres || cres || uag==new_ua || uag==new_ua2){ wait_till = 3000; } if(is_last_resource==resources.length){ setTimeout(function(){ console.log("ccwpTriggerDelayedScripts timeout : "+wait_till); ccwpTriggerDelayedScripts(); },wait_till); } } window.addEventListener("load", function(e) { console.log("load complete"); setTimeout(function(){ calculate_load_times(); },100); });async function ccwpTriggerDelayedScripts() { if(ccwp_loaded){ return ;} ccwpPreloadStyles(); ccwpPreloadDelayedScripts(); ccwpLoadCss(); ccwpScriptLoading(); ccwp_loaded=true; } function ccwpPreloadStyles() { let e = document.createDocumentFragment(); var cssEle = document.querySelectorAll("link[rel=ccwpdelayedstyle]"); for(let i=0; i <= cssEle.length;i++){ if(cssEle[i]){ cssEle[i].href = removeVersionFromLink(cssEle[i].href); let r = document.createElement("link"); r.href = cssEle[i].href; r.rel = "preload"; r.as = "style"; e.appendChild(r); } } document.head.appendChild(e); } function ccwpPreloadDelayedScripts() { var e = document.createDocumentFragment(); document.querySelectorAll("script[type=ccwpdelayedscript]").forEach(function(t) { var n = removeVersionFromLink(t.getAttribute("src")); if (n) { t.setAttribute("src", n); var r = document.createElement("link"); r.href = n, r.rel = "preload", r.as = "script", e.appendChild(r) } }), document.head.appendChild(e) } function ccwpScriptLoading(){ var jsEle = document.querySelectorAll("script[type=ccwpdelayedscript]"); jsEle.forEach(function(t) { t.type = "text/javascript"; if(t.src) { t.src = removeVersionFromLink(t.src); } }); }function ccwpLoadCss(){ var cssEle = document.querySelectorAll("link[rel=ccwpdelayedstyle]"); for(let i=0; i <= cssEle.length;i++){ if(cssEle[i]){ cssEle[i].href = removeVersionFromLink(cssEle[i].href); cssEle[i].rel = "stylesheet"; cssEle[i].type = "text/css"; } }var cssEle = document.querySelectorAll("style[type=ccwpdelayedstyle]"); for(let i=0; i <= cssEle.length;i++){ if(cssEle[i]){ cssEle[i].type = "text/css"; } } } function removeVersionFromLink(link) { if(ccwpIsValidUrl(link)) { const url = new URL(ccwpFormatLink(link)); url.searchParams.delete("ver"); url.searchParams.delete("time"); return url.href; } else{ return link; } } function ccwpIsValidUrl(urlString) { if(urlString){ var expression =/[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi; var regex = new RegExp(expression); return urlString.match(regex); } return false; } function ccwpFormatLink(link) { let http_check=link.match("http:"); let https_check=link.match("https:"); if(!http_check && !https_check) { return location.protocol+link; } return link; }