1<!-- standard - CustomHeader-NoAds-Site.html --> <!DOCTYPE html> 2<html lang="en" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#"> 3<head> 4 <title>Contact & Help | Worcester News</title> 5 6 <meta charset="utf-8"> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> 8 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 9 <meta name="OMG-Verify-V1" content="4389-366acdfc-5224-4c07-bb70-f74d8fbfc2db" /> 10 <meta name="robots" content="max-image-preview:large"> 11 <meta name="format-detection" content="telephone=no"> 12 13 <style> 14 .mar-leaderboard--top { 15 display: none; 16 } 17 </style> 18
18<script> 19 window.doNotAdvertise = true; 20 </script>
20 21 <link rel="canonical" href="https://www.worcesternews.co.uk/contact/" /> 22 <meta property="fb:pages" content="952527111460548" /> 23 <meta property="fb:pages" content="213163625375779" /> 24 <meta property="fb:pages" content="166522910029056" /> 25 <meta name="title" content="Contact & Help | Worcester News"/> 26 <meta name="description" content="Get help, support and contact information for Worcester News"/> 27 <meta name="keywords" content=""/> 28
29<script type="application/ld+json"> 30 { 31 "@context": "http://schema.org", 32 "@type": "WebPage", 33 "headline": "Contact & Help | Worcester News", 34 "url": "https://www.worcesternews.co.uk/contact/" 35 } 36</script>
36 37 38 39 40 41 42 43 44 45 <link id="page_stylesheet_vars" href="/resources/responsive-static/build/mds/css/palette-4-serif-vars.css?r=vjoPdzgg" rel="stylesheet" type="text/css"> 46 47 <link href="/resources/responsive-static/build/mds/css/header-footer.css?r=vjoPdzgg" rel="stylesheet" type="text/css"> 48 49 <link id="page_stylesheet" href="/resources/responsive-static/build/mds/css/contactus.css?r=vjoPdzgg" rel="stylesheet" type="text/css"> 50 51 <link rel="shortcut icon" href="/resources/images/17416325/" type="image/vnd.microsoft.icon"> 52 <link rel="icon" href="/resources/images/17416325/" type="image/vnd.microsoft.icon"> 53
53<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha384-1H217gwSVyLSIfaLxHbE7dRb3v4mYCKbpQvzx0cegeju1MVsGrX5xXxAvs/HgeFs" crossorigin="anonymous"></script>
vendor: 1 bytes, line 53
53
54<script src="https://code.jquery.com/jquery-migrate-3.6.0.js" integrity="sha384-ekzRTCLAU/LqHRBjnphRAxgZZvGdoP+TfkGGsX+tBJpRdM7r2/89ZZNzC/7YTJXX" crossorigin="anonymous"></script>
vendor: 1 bytes, line 54
54
55<script type="text/javascript" src="/resources/shared/responsive-sync/?r=vjoPdzgg"></script>
55 56
57<script type="text/javascript"> 58 data_layer_helper.setIsArticle(false); 59 data_layer_helper.setCookieDomain('.worcesternews.co.uk'); 60 data_layer_helper.setModuleType('Newsquest\Modules\ContactUsModule'); 61 data_layer_helper.setLocalInfoFolder(''); 62 data_layer_helper.setHomesData('', '', '', 'contact'); 63 data_layer_helper.setPrimaryDomain('www.worcesternews.co.uk'); 64 data_layer_helper.setPath('/contact/'); 65 data_layer_helper.setGoogleNetworkCode('154725070'); 66 data_layer_helper.setArticleTimestamp(''); 67 data_layer_helper.setPathOverride(); 68 69 70 var extraTags = []; 71 72 extraTags.push('user_level_anonymous'); 73 74 75 var data_layer = { 76 environment: { 77 is_test_site: 'no', 78 is_live_site: 'yes', 79 is_paywall_site: 'yes', 80 is_portable_screen: (data_layer_helper.isMobileScreen()) ? 'yes' : 'no', 81 is_desktop_screen: (data_layer_helper.isMobileScreen()) ? 'no' : 'yes', 82 is_mobile_device: data_layer_helper.getMobileDevice(), 83 is_tablet_device: data_layer_helper.getTabletDevice(), 84 server: 'webapp-857f48ddbd-4vcgp', 85 platform: 'Martini' 86 }, 87 site: { 88 id: '130', 89 comments_subscriber_only: 'no', 90 viafoura_site_id: '00000000-0000-4000-8000-cdf2b616617a', 91 comments_use_viafoura: 'yes', 92 centre_id: '3', 93 centre_name: 'Worcester', 94 country: 'England', 95 name: 'Worcester News', 96 name_with_prefix_capitalised_possessive: 'The Worcester News\'', 97 name_with_prefix_lower_possessive: 'the Worcester News\'', 98 domain: 'www.worcesternews.co.uk', 99 editor_name: 'Stephanie Preece', 100 onboarding_enabled: 'yes', 101 onboarding_flow_id: 'prim_local_std', 102 allowing_mr_replacement: '', 103 cookie_domain: '.worcesternews.co.uk', 104 uses_cmp: 'yes', 105 short_domain: 'worcesternews', 106 using_piano_id: 'yes', 107 enable_skimlinks: 'yes', 108 skimlinks_domain_id: '613830', 109 disable_newsletters: 'no', 110 is_archant_site: 'no', 111 shc_merchant_name: '', 112 piano_application_group: 'Primary', 113 piano_site_name: 'Worcester News', 114 piano_site_name_possessive: 'Worcester News\'', 115 piano_site_name_with_prefix_lower: 'the Worcester News', 116 piano_site_name_with_prefix_capitalised: 'The Worcester News', 117 piano_site_name_with_prefix_capitalised_possessive: 'The Worcester News\'', 118 piano_site_name_with_prefix_lower_possessive: 'the Worcester News\'', 119 piano_location_primary: 'Worcester', 120 piano_location_primary_possessive: 'Worcester\'s', 121 piano_location_county: 'Worcestershire', 122 piano_location_county_possessive: 'Worcestershire\'s', 123 piano_primary_sports_team: '', 124 piano_primary_sports_team_nickname: '', 125 piano_primary_sports_team_sport: '', 126 piano_primary_sports_team_possessive: '', 127 piano_primary_sports_team_nickname_possessive: '', 128 piano_self_service_cancellation_setting: 'All', 129 has_app: 'yes', 130 app_provider: 'pagesuite', 131 app_platform: 'pagesuite-hybrid', 132 app_store_url_ios: 'https://apps.apple.com/app/worcester-news/id516937373', 133 app_store_url_google_play: 'https://play.google.com/store/apps/details?id=com.pagesuite.play.worcesternews', 134 cloudflare_turnstyle_site_key: '', 135 }, 136 page: { 137 module: 'Newsquest\Modules\ContactUsModule', 138 referrer: data_layer_helper.getReferrerHostName(), 139 name: '(www) ' + data_layer_helper.getOmniturePath(), 140 title: document.title, 141 path: data_layer_helper.getOmniturePath(), 142 section: data_layer_helper.getPathFragment(0), 143 subsection: data_layer_helper.getPathFragment(1), 144 subsection_2: data_layer_helper.getPathFragment(2), 145 subsection_3: data_layer_helper.getPathFragment(3), 146 reference: qs.get('ref'), 147 layout: '', 148 ad_timing: data_layer_helper.getCookie('adtiming'), 149 template_namespace: 'standard', 150 template: '', 151 colour_scheme: '', 152 layout_template: '', 153 mds_font: 'serif', 154 user_used_app_last_24hours: '', 155 user_used_app_last_7days: '', 156 user_used_app_last_14days: '', 157 mds_colour_palette: 'palette-4', 158 feature_block_a_enabled: ($('[data-name="Feature Article Block A"]').length > 0) ? 'yes' : 'no', 159 feature_block_b_variant: (typeof $('[data-name="Feature Article Block B"]').data('variant') === 'undefined') ? '' : $('[data-name="Feature Article Block B"]').data('variant'), 160 is_article_list: 'no', 161 error_404: '',
162 top_stories_article_count: '', 163 interstitial_dedupe_top_stories: '', 164 interstitial_desktop_height: '', 165 interstitial_mobile_height: '', 166 interstitial_tablet_height: '', 167 interstitial_piano_module_id: '', 168 interstitial_using_recommendations: '', 169 interstitial_recommendation_header: '', 170 interstitial_article_count: '', 171 news_stories_article_count: '', 172 site_newspaper_archive_enabled: 'yes', 173 site_newspaper_archive_number_of_pages: '1024620', 174 site_newspaper_archive_start_year: 1713, 175 article_originates_from_this_site: '', 176 article_originates_from_site: '', 177 article_originates_from_url: '' 178 }, 179 user: { 180 id: '', 181 first_name: '', 182 advertising_experience: 'Ad-Full', 183 is_privacy_plus: 'no', 184 is_alist: 'no', 185 level: data_layer_helper.getCookie('nq_ul'), 186 seen_cmp: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true' || data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no', 187 given_consent: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true') ? 'yes' : 'no', 188 consent_string: data_layer_helper.getConsentString(), 189 type: 'anonymous', 190 parsely_type: 'Anonymous', 191 chartbeat_type: 'anon', 192 type_as_int: '1', 193 is_logged_in: 'no', 194 is_admin: 'no', 195 is_internal_admin: '', 196 has_full_admin_link_permissions: '', 197 has_registered: (data_layer_helper.getCookie('nqr') !== null) ? 'yes' : 'no', 198 comments_verified: '', 199 comments_verified_date: '', 200 user_email_is_verified: '', 201 user_email_is_verified_date: '', 202 mobile_number_is_verified: '', 203 mobile_number_is_verified_date: '', 204 user_needs_email_verification: '', 205 user_needs_mobile_verification: '', 206 user_too_many_requests: '', 207 age_decade: '0' , 208 gender: 'u' , 209 is_known: data_layer_helper.getCookie('__siren') ? 'yes' : 'no', 210 hash: '', 211 lr_hash_1: '', 212 lr_hash_2: '', 213 lr_hash_3: '', 214 gender: 'u' , 215 user_decade: '0' , 216 subscription_plan: '', 217 subscription_tier: 'null', 218 subscription_plan_and_frequency: ' - ', 219 commented: (data_layer_helper.isArticle() && qs.get('action') === 'success') ? 'yes' : 'no', 220 time_since_last_visit: 'not implemented (maybe drop)', 221 device: data_layer_helper.getDevice(), 222 using_ad_blocker_sourcepoint: data_layer_helper.getSourcepointAdbockStatus(), 223 admin_user_name: '', 224 is_admin_internal: '', 225 is_admin_external: '', 226 card_expired: '', 227 card_will_expire: '', 228 expires_urgency: '', 229 abandoned_cart: 'no', 230 subscription_expired: 'no', 231 is_archant_site: 'no', 232 signed_up_primary_news_newsletter: 'no', 233 signed_up_primary_sport_newsletter: 'no', 234 played_free_puzzles_last_7days: '', 235 played_paid_puzzles_last_7days: '', 236 commenter_badge: '', 237 upper_role: '', 238 }, 239 analytics: { 240 hierachy: 'newsquest,Worcester,www.worcesternews.co.uk,' + data_layer_helper.getPathFragment(3).replace(/\//,','), 241 link_filters: 'javascript:,worcesternews.co.uk,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk,', 242 tracking_block: data_layer_helper.getTrackingFromCookie('tracking_block', ''), 243 tracking_block_index: data_layer_helper.getTrackingFromCookie('tracking_block_index', ''), 244 previous_page_name: data_layer_helper.getCookie('nq_prev_page'), 245 advert_id: '', 246 position_in_list: data_layer_helper.getTrackingFromCookie('o-prop30', ''), 247 featured_content: data_layer_helper.getTrackingFromCookie('o-ref', qs.get('ref')), 248 account: data_layer_helper.getAccount() 249 }, 250 chartbeat: { 251 enabled: "no", 252 id: "", 253 domain: "", 254 sections: '' 255 }, 256 parsely: { 257 enabled: "yes", 258 site_id: "worcesternews.co.uk", 259 type: 'Anonymous' 260 }, 261 piano: { 262 tags: data_layer_helper.getPianoTags({ 263 piano_domain: 'worcesternews', 264 piano_master: '', 265 breaking_news: false, 266 editorial_opinion: false, 267 free_subscriber: false, 268 free_subscriber: false, 269 has_video: false, 270 is_article: false,
271 article_content_level : '', 272 article_content_level_open_access: false, 273 picture_gallery_id: false, 274 user_is_newsquest: false, 275 user_is_entra_authenticated: false, 276 user_logged_in: false, 277 is_live_article: false, 278 why_free_subscriber: '', 279 extra_tags: extraTags, 280 is_covid_headline: false, 281 is_covid_body: false, 282 is_alist: false, 283 audio_provider_bytecast: false 284 } 285 ), 286 custom_variables: { 287 article_length: '', 288 application_group: 'Primary', 289 content_is_editorial_opinion: 'no', 290 base_url: 'https://www.worcesternews.co.uk', 291 full_url: document.location.href, 292 from_discover: (document.referrer === "android-app://com.google.android.googlequicksearchbox/") ? 'yes' : 'no', 293 mds_font: 'serif', 294 mds_colour_palette: 'palette-4', 295 site_name: 'Worcester News', 296 site_name_possessive: 'Worcester News\'', 297 site_name_with_prefix_capitalised: 'The Worcester News', 298 site_name_with_prefix_lower: 'the Worcester News', 299 site_name_with_prefix_capitalised_possessive: 'The Worcester News\'', 300 site_name_with_prefix_lower_possessive: 'the Worcester News\'', 301 location_primary: 'Worcester', 302 location_primary_possessive: 'Worcester\'s', 303 location_county: 'Worcestershire', 304 location_county_possessive: 'Worcestershire\'s', 305 site_has_primary_sports_team: 'no', 306 primary_sports_team: '', 307 primary_sports_team_nickname: '', 308 primary_sports_team_sport: '', 309 primary_sports_team_possessive: '', 310 primary_sports_team_nickname_possessive: '', 311 site_id: '130', 312 content_level: '', 313 content_author: '', 314 content_id: '', 315 content_is_article: 'no', 316 content_primary_topic: '', 317 user_seen_consent_modal: ($.cookie('_sp_enable_dfp_personalized_ads') === 'true' || $.cookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no', 318 site_section: data_layer_helper.getPathFragment(0, true), 319 article_published_yyyy: '', 320 user_played_free_puzzles_last_7days: '', 321 user_played_paid_puzzles_last_7days: '', 322 anon_user_played_free_puzzles_last_7days: data_layer_helper.untrackedPuzzleCheck(), 323 home_delivery_phone_number: '0800 953 0227', 324 content_is_restricted: data_layer_helper.getRestrictedContent('', '', '', ''), 325 day_of_week: data_layer_helper.getDayOfWeek(), 326 user_card_expired: '', 327 user_card_will_expire: '', 328 user_expires_urgency: '', 329 user_used_app_last_24hours: '', 330 user_used_app_last_7days: '', 331 user_used_app_last_14days: '', 332 user_subscription_tier: 'null', 333 user_is_newsquest: 'no', 334 primary_news_newsletter_id: '964', 335 primary_news_newsletter_name: 'the Morning Briefing', 336 primary_news_newsletter_description: 'All the latest from the Worcester News', 337 primary_sport_newsletter_id: '965', 338 primary_sport_newsletter_name: 'the Sports AM', 339 primary_sport_newsletter_description: 'Keep up to date with the latest sport headlines.', 340 user_signed_up_primary_news_newsletter: 'no', 341 user_signed_up_primary_sport_newsletter: 'no', 342 newsletter_auto_promote: '', 343 newsletter_auto_promote_name: '', 344 newsletter_auto_promote_description: '', 345 newsletter_auto_promote_ID: '', 346 site_has_app: 'yes', 347 site_app_store_url_ios: 'https://apps.apple.com/app/worcester-news/id516937373', 348 site_app_store_url_google_play: 'https://play.google.com/store/apps/details?id=com.pagesuite.play.worcesternews', 349 subsets_experiment_id: '', 350 site_section1: data_layer_helper.getPathFragment(1, true), // GBL required 351 site_newspaper_archive_enabled: 'yes', 352 site_newspaper_archive_number_of_pages: '1024620', 353 site_newspaper_archive_start_year: 1713, 354 article_originates_from_this_site: '', 355 article_originates_from_site: '', 356 article_originates_from_url: '' 357 }, 358 native_variables: { 359 setContentCreated: '', 360 setContentIsNative: 'no', 361 setContentAuthor: '', 362 setContentSection: data_layer_helper.getPathFragment(0, true) 363 } 364 }, 365 article: { 366 cscore:'', 367 showing_preview: '', 368 is_article: data_layer_helper.isArticle() ? 'yes' : 'no', 369 id : '', 370 length_type: '', 371 character_count: '', 372 author: ''.toLowerCase(), 373 e_var15: ''.toLowerCase(), 374 context: '', 375 content_level: '', 376 content_level_open_access: '', 377 content_level_combined: ',,no', 378 content_is_restricted: data_layer_helper.getRestrictedContent('', '', '', ''), 379 increment: (data_layer_helper.isArticle()) ? '+1' : '', 380 sponsor: '', 381 contributions: '0', 382 is_sponsored: 'no', 383 headline: '', 384 age: data_layer_helper.getArticleAge(), 385 upload_date: '', 386 publish_date: '', 387 update_date: '', 388 rating: '', 389 source: data_layer_helper.getSource(''), 390 subjects: (typeof articleSubjects === 'object') ? articleSubjects.join(',') : '', 391 context: '', 392 grapeshot_context: (typeof gs_channels !== 'undefined') ? gs_channels : '', 393 allow_comments: 'no', 394 total_comments: '', 395 originating_site_id: '', 396 parent_article_site_id: '', 397 parent_article_id: '', 398 originating_article_id: '', 399 parent_originating_site_id: '', 400 is_original_to_site: '', 401 is_cloned: '', 402 parent_article_url: '', 403 use_skimlinks: 'no', 404 content_primary_topic: '', 405 taxonomy: { 406 article_types: '', 407 topics: '', 408 sports: '', 409 sports_teams: '', 410 locations: '', 411 shared_content: '', 412 free_tags: '', 413 farming: '' 414 }, 415 audio: { 416 has_audio: 'no', 417 provider: '' 418 },
419 article_comments_use_viafoura: '' 420 }, 421 homes: { 422 search_bedrooms_minimum: '', 423 search_location: 'contact', 424 search_price_minimum: '', 425 search_price_maximum: '', 426 list: '', 427 id: '' 428 }, 429 video: { 430 exists: 'no', 431 auto_play_enabled: data_layer_helper.getAutoPlay('no') 432 }, 433 contributions: { 434 allow_text: '', 435 allow_image: '', 436 user_contributions_number: '0', 437 has_user_contributions: 'no' 438 }, 439 search: { 440 keywords: qs.get('search'), 441 results: '' 442 }, 443 announcements: { 444 category: '' 445 }, 446 config: { 447 google_analytics_id: 'UA-54396341-14', 448 site_template_set: 'standard', 449 path: '/contact/', 450 top_level_section: 'contact', 451 polar_property_id: 'NA-WORC-11238043', 452 gallery_show_advert_after: '5', 453 disable_outbrain_with_ad_light: 'no', 454 disable_outbrain: 'no', 455 }, 456 dfp: { 457 is_landing: 'yes', 458 module_path: 'contact', 459 weather_band: '11-15', 460 weather_summary: 'sun'.toLowerCase(), 461 id: data_layer_helper.getGoogleId(), 462 display_screen: data_layer_helper.isMobileScreen() ? 'mobile' : 'desktop', 463 can_show_billboard: (window.screen.width > 960) ? 'y' : 'n' 464 }, 465 dates: { 466 date: (new Date()).toLocaleDateString('en-GB'), 467 hour: (new Date()).getHours(), 468 day: data_layer_helper.getDayOfWeek(), 469 weekend: ((new Date()).getDay() === 6 || (new Date()).getDay() === 0) ? 'Weekend' : 'Weekday' 470 }, 471 memorials: { 472 contact_phone_number: '', 473 contact_email_address: '', 474 publications: JSON.parse('' || '[]'), 475 user: { 476 id: '', 477 email_verified: 'no', 478 type: '' 479 }, 480 funeral_director: { 481 id: '', 482 person_urn: '' 483 } 484 } 485 } 486 487 data_layer_helper.storeCurrentPageName(data_layer.page.name); 488 489 window.dispatchEvent(new Event('data-layer-loaded')) 490 491 data_layer.piano.custom_variables.user_used_app_last_24hours = 'no'; 492 data_layer.piano.custom_variables.user_used_app_last_7days = 'no'; 493 data_layer.piano.custom_variables.user_used_app_last_14days = 'no'; 494 if (data_layer.article.is_article !== 'yes') { 495 data_layer.piano.custom_variables.site_module = 'Newsquest\Modules\ContactUsModule'; 496 data_layer.piano.custom_variables.puzzles_landing_page = 'no'; 497 data_layer.piano.custom_variables.puzzles_display_page = 'no'; 498 } 499</script>
499 500
501<script 502 src="https://assets.adobedtm.com/499440d21de9/54b957ecfb7e/launch-98090dfa3d73.min.js" 503 async 504></script>
504 505 506
507<script>"use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",r.title="tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return o;"setGdprApplies"===n[0]?n.length>3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}();</script>
507 508
509<script type = "text/javascript"> 510( function () { 511 512 window._sp_ = { 513 config: { 514 baseEndpoint: 'https://a02342.worcesternews.co.uk', 515 accountId: 52, 516 targetingParams:{ 517 subscribed: false, 518 privacy: false 519 }, 520 gdpr: { }, 521 events: { 522 onMessageReady: function (message_type) { 523 trackSPEvents('event76'); 524 }, 525 onMessageChoiceSelect: function (message_type, choice_id, choice_type_id) { 526 console.log('message_type: ', message_type); 527 console.log('choice_id: ', choice_id); 528 console.log('choice_type_id: ', choice_type_id); 529 if ('yes' === 'yes') { 530 if (choice_type_id === 12) { 531 trackSPEvents('event83'); //Consent Banner Reject All 532 trackSPEvents('event82'); //Journalism Message Shown 533 } 534 if (choice_type_id === 11) { 535 trackSPEvents('event78'); 536 } 537 if (choice_type_id === 9) { 538 trackSPEvents('event77'); 539 } 540 } else { 541 // these are the second argument in non-gate 542 if (choice_type_id === 12) { 543 trackSPEvents('event77'); 544 } 545 546 if (choice_type_id === 11) { 547 trackSPEvents('event78'); 548 } 549 550 if (choice_type_id === 13) { 551 trackSPEvents('event83'); 552 } 553 } 554 }, 555 onPrivacyManagerActionStatus: function(message_type, status, actionType) { 556 console.log('message_type: ' + message_type); 557 console.log('status: ' + status); 558 console.log('actionType: ' + actionType); 559 if ('yes' === 'yes') { 560 if (actionType === 11) { 561 trackSPEvents('event79'); //Privacy Manager Accept 562 } 563 if (actionType === 9) { 564 trackSPEvents('event68'); //Privacy Manager Redirect 565 } 566 if (actionType === 1) { 567 trackSPEvents('event75'); //Forced tcf String Change 568 } 569 } else { 570 // these are the second argument in non-gate 571 if (actionType === 13) { 572 trackSPEvents('event81'); //Privacy Manager Reject 573 } 574 if (actionType === 11) { 575 trackSPEvents('event79'); //Privacy Manager Accept 576 } 577 if (actionType === 1) { 578 trackSPEvents('event80'); //Privacy Manager Save & Exit 579 } 580 } 581 }, 582 onPMCancel: function (message_type) { 583 console.log('onPMCancel', message_type); 584 trackSPEvents('event84'); //Privacy Manager Back 585 }, 586 } 587 } 588 } 589 590 if (typeof window.__tcfapi === 'function') { 591 window.__tcfapi('addEventListener', 2, function (tcData, success) { 592 console.log('SP: Event Listen:', tcData, success); 593 if (success && tcData.eventStatus === 'useractioncomplete') { 594 setTcfCookie(tcData.purpose.consents, tcData.purpose.legitimateInterests); 595 596 var csnt = 'none'; 597 if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { 598 csnt = 'yes'; 599 } else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { 600 csnt = 'no'; 601 } 602 googletag.cmd.push(function() { 603 // console.log('DFP: Cookie check - setting dfpcsnt to ', csnt); 604 googletag.pubads().setTargeting('dfpcsnt', csnt); 605 }); 606 // ready to start DFP
607 // console.log('PIANO: setting unrestricted via useractioncomplete'); 608 // runPiano('unrestricted'); 609 startAdvertising(tcData.listenerId); 610 611 var e = new Event('launch:cmp:choice-made'); 612 window.dispatchEvent(e); 613 } else if (success && tcData.eventStatus === 'tcloaded') { 614 // tcloaded means a valid TCF v2.0 string is available 615 // console.log('PIANO: setting unrestricted via tcloaded'); 616 // runPiano('unrestricted'); 617 if (tcData.gdprApplies === false) { 618 $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.worcesternews.co.uk', path: '/', expires: 100}); 619 } 620 startAdvertising(tcData.listenerId); 621 622 } else if (success && tcData.eventStatus === 'useractionnotcomplete') { 623 // do nothing - this means the user has not made a choice yet 624 } else if (success && tcData.eventStatus === 'cmpuishown') { 625 // do nothing - this means the CMP UI has been shown 626 } else if (!success) { 627 // $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.worcesternews.co.uk', path: '/', expires: 100}); 628 // startAdvertising(); 629 } else { 630 // console.log('PIANO: setting restricted'); 631 // runPiano('restricted'); 632 } 633 }); 634 } 635 636 637 638 document.addEventListener('click', function (e) { 639 const option = e.target.closest('.gdpr-option-v2'); 640 641 if (!option) return; 642 643 e.preventDefault(); 644 sendEvent76 = false; 645 646 const id = option.dataset.v2Id; 647 const isGate = option.dataset.isGate; 648 649 if (isGate === 'yes') { 650 trackSPEvents('event87'); 651 _sp_.gdpr.loadPrivacyManagerModal(id); 652 } else { 653 trackSPEvents('event77'); 654 _sp_.gdpr.loadPrivacyManagerModal(id); 655 } 656 }); 657 658 function getTcfData() { 659 if (typeof window.__tcfapi !== 'function') { 660 console.warn('TCF API unavailable'); 661 return; 662 } 663 window.__tcfapi('addEventListener', 2, function(data, success) { 664 if (!data.purpose || !data.purpose.consents || !data.purpose.legitimateInterests) { 665 // console.log('DFP: No TCF data found, not setting cookies'); 666 return; 667 } 668 setTcfCookie(data.purpose.consents, data.purpose.legitimateInterests); 669 }, [755]); 670 } 671 getTcfData(); 672 673 function setTcfCookie(data, legitimateInterests) { 674 var consents = []; 675 $.each(data, function(id, consent) { 676 var c = (consent === true) ? 'yes' : 'no'; 677 consents.push(c) 678 }); 679 // console.log('DFP: consents length: ', consents.length); 680 if (consents.length !== 10) { 681 // consents = consents.fill('no', consents.length, 10); 682 for (var i = consents.length; i < 10; i++) { 683 consents[i] = 'no'; 684 } 685 } 686 // console.log('DFP: Found consents to store in cookie:', consents); 687 $.cookie('prev-tcf-v2', consents.join(','), {domain: '.worcesternews.co.uk', path: '/', expires: 100}); 688 689 var consentEvent4 = 'none'; 690 if (typeof data[4] !== 'undefined') { 691 consentEvent4 = data[4] ? 'true' : 'false'; 692 } 693 $.cookie('_sp_enable_dfp_personalized_ads', consentEvent4, {domain: '.worcesternews.co.uk', path: '/', expires: 100}); 694 695 var legitInterest = 'none'; 696 if (legitimateInterests && typeof legitimateInterests[2] !== 'undefined') { 697 legitInterest = legitimateInterests[2] ? 'true' : 'false'; 698 } 699 700 $.cookie('_sp_legitimate_interests', legitInterest , {domain: '.worcesternews.co.uk', path: '/', expires: 100}); 701 } 702 703 var sendEvent76 = true; 704 705 function trackSPEvents(events) { 706 if (events === 'event76' && !sendEvent76) { 707 return; 708 } else if (events === 'event76') { 709 sendEvent76 = false;
710 } 711 712 if (typeof window.s !== 'object') { 713 // console.log('DFP: No window.s object found, trying again in 1 second'); 714 window.setTimeout(function () { trackSPEvents(events)} , 1000); 715 return; 716 } 717 718 // console.log("ADB: Tracking %s", events); 719 // Re-create the Omniture object so the data can be tracked. 720 var s = window.s; 721 722 if (events.indexOf('event70') !== -1) { 723 // console.log('DFP: Events passed, added evars'); 724 s.eVar35 = 'enabled'; 725 s.prop35 = 'enabled'; 726 } 727 728 s.events = events; 729 s.linkTrackEvents = events; 730 s.linkTrackVars = "eVar2,eVar3,eVar4,eVar5,eVar6,evar7,evar8,evar9,eVar16,eVar19,eVar26,eVar35,eVar43,eVar67,prop35"; 731 s.suppressPageView = true; 732 s.tl(true,'o','Ad Block'); 733 } 734 735 function startAdvertising(id) 736 { 737 if (typeof window.doNotAdvertise !== 'undefined' && window.doNotAdvertise === true) { 738 return; 739 } 740 741 // console.log("DFP: Is the page fully loaded?", window.googleReady); 742 if (window.googleReady !== true) { 743 window.setTimeout(function () { 744 // console.log('DFP: Google not fully loaded yet, pausing quarter of a second before trying again'); 745 startAdvertising(id); 746 }, 250); 747 return; 748 } 749 750 // Ensure that we never run this code twice 751 if (window.advertisingStart === true) { 752 return; 753 } 754 // console.log('DFP: Running advertisement'); 755 window.advertisingStart = true; 756 757 var googletag = window.googletag; 758 // init google objects and array 759 (function() { 760 var gads = document.createElement('script'); 761 gads.async = true; 762 gads.type = 'text/javascript'; 763 gads.src = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js'; 764 var node = document.getElementsByTagName('script')[0]; 765 node.parentNode.insertBefore(gads, node); 766 })(); 767 768 // launch the exco slideshow player 769 launchExcoSlideshow(); 770 771 // load facebook etc 772 loadSocials(); 773 774 // Checking our decision to use headerbidding (shorterned as prebid) is correct 775 // via system logic, and that we have the simplified consent to do so 776 if (usePrebid && $.cookie('_sp_enable_dfp_personalized_ads') === 'true') {
777 var e = new Event('launch:sourcepoint:consentaccepted'); 778 window.dispatchEvent(e); 779 780 // AP code initialisation 781 // the script is loaded via launch, once we have detected a consent signal via the datalayer. 782 fetchAp(); 783 784 var site = 'desktop'; 785 var _site = 'desktop'; 786 787 // load IAS scripts and set up vars 788 (function() { 789 var ias = document.createElement('script'); 790 ias.async = true; 791 ias.type = 'text/javascript'; 792 ias.src = 'https://cdn.adsafeprotected.com/iasPET.1.js'; 793 var node = document.getElementsByTagName('script')[0]; 794 node.parentNode.insertBefore(ias, node); 795 })(); 796 797 // load the prebid script 798 (function() { 799 var pbs = document.createElement('script'); 800 pbs.async = true; 801 pbs.type = 'text/javascript'; 802 pbs.src = 'https://micro.rubiconproject.com/prebid/dynamic/11022.js?group=newsquest'; 803 var node = document.getElementsByTagName('script')[0]; 804 node.parentNode.insertBefore(pbs, node); 805 })(); 806 807 // tell google to actually get the bids from all relevant vendors when loaded 808 googletag.cmd.push(function () { 809 fetchHeaderBids(); 810 }); 811 } 812 813 // Outbrain 814 if ( 815 (window.data_layer.user.advertising_experience === 'Ad-Free' || window.data_layer.config.disable_outbrain === 'yes') || 816 (window.data_layer.user.advertising_experience === 'Ad-Light' && window.data_layer.config.disable_outbrain_with_ad_light === 'yes') 817 ) { 818 // console.log("No Outbrain script loading due to page settings"); 819 } else { 820 // console.log("Loading Outbrain"); 821 var ob = document.createElement('script'); 822 ob.async = true; 823 ob.type = 'text/javascript'; 824 ob.src = 'https://widgets.outbrain.com/outbrain.js'; 825 var node = document.getElementsByTagName('script')[0]; 826 node.parentNode.insertBefore(ob, node); 827 } 828 829 830 // remove the listener 831 if (id !== null) { 832 window.__tcfapi('removeEventListener', 2, function (success) { }, id); 833 } 834 } 835 836 /** 837 * Wait until we have advertising consent to show this advertising 838 * based replacement for the single image on our article pages 839 * This logic is based on excoSlidshowPlayerID that only appears on the page 840 * if a user is NOT a subscriber (including privacy plus) and the page has the 841 * correct information to show it (doesn't have a video, not in sport etc) 842 */ 843 function launchExcoSlideshow() { 844 const slideShowPlayerId = window.excoSlideshowPlayerId; 845 // if we do not have a player id, we do not need to do anything 846 if (!slideShowPlayerId) { 847 return; 848 } 849 850 // this is exco's supplied code, modified for our use 851 (function (d, s, n) { 852 fjs = d.getElementsByTagName(s)[0]; 853 js = d.createElement(s); 854 js.className = n; 855 js.src = '//player.ex.co/player/' + slideShowPlayerId; 856 js.setAttribute('programmatic', 'true'); 857 js.onload = function () { 858 const playerApi = ExCoPlayer.connect(slideShowPlayerId); 859 playerApi.init({}); 860 861 playerApi.on('player-load', function(data) { 862 $('.mar-article-image').remove(); 863 if (window.screen.width > 800) { 864 $('.article-hero').attr('style', 'order: 1'); 865 } 866 window.hide_overlay_for_exco = true; 867 }); 868 }; 869 fjs.parentNode.insertBefore(js, fjs); 870 }(document, 'script', 'exco-player')); 871 } 872 873 function loadSocials() 874 { 875 const socials = [ 876 'https://platform.twitter.com/widgets.js', 877 'https://connect.facebook.net/en_US/all.js#xfbml=1', 878 'https://www.tiktok.com/embed.js', 879 ]; 880
881 socials.forEach((social) => { 882 var script = document.createElement('script'); 883 script.src = social; 884 script.async = true; 885 document.getElementsByTagName('head')[0].appendChild(script); 886 }); 887 } 888 889 890})(); 891 892</script>
vendor: 1 bytes, line 892
892
893<script src="https://a02342.worcesternews.co.uk/unified/wrapperMessagingWithoutDetection.js"></script>
893 894
895<script> 896window.usePiano = true; 897window.selectedOfferId = null; 898window.selectedTermId = null; 899</script>
vendor: 1 bytes, line 899
899
900<script> 901document.cookie = "__adblocker=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; 902var setNptTechAdblockerCookie = function(adblocker) { 903 var d = new Date(); 904 d.setTime(d.getTime() + 60 * 60 * 24 * 2 * 1000); 905 document.cookie = "__adblocker=" + (adblocker ? "true" : "false") + "; expires=" + d.toUTCString() + "; path=/"; 906} 907var script = document.createElement("script"); 908script.setAttribute("async", true); 909script.setAttribute("src", "//www.npttech.com/advertising.js"); 910script.setAttribute("onerror", "setNptTechAdblockerCookie(true);"); 911document.getElementsByTagName("head")[0].appendChild(script); 912</script>
912 913
914<script> 915// window.pdl = window.pdl || {}; 916// window.pdl.requireConsent = 'v2'; 917 918// Store entry point unless it's a user or subscribe page 919// to redirect after subscription 920const excludedPaths = ['/user/', '/subscribe/']; 921 922const shouldExclude = excludedPaths.some(path => 923 window.location.pathname.includes(path) 924); 925 926if (!shouldExclude) { 927 sessionStorage.setItem( 928 'last_piano_page_interacted_with', 929 window.location.pathname 930 ); 931} 932 933tp = window.tp || []; 934 935function runPiano(restrictedMode) { 936 // console.log('Running Piano with restricted mode:', restrictedMode); 937 // tp.push(['init', function() { 938 // console.log('Piano purpose map, before calling setAllPurposes()', tp.consent.getByPurpose()); 939 // }]); 940 // if (restrictedMode === 'restricted') { 941 // // If we're in restricted mode, we need to set some specific parameters 942 // tp.push(['init', function() { 943 // tp.consent.setAllPurposes('opt-out') 944 // }]); 945 // } else { 946 // tp.push(['init', function() { 947 // tp.consent.setAllPurposes('opt-in') 948 // }]); 949 // } 950 // tp.push(['init', function() { 951 // console.log('Piano purpose map, after calling setAllPurposes()', tp.consent.getByPurpose()); 952 // }]); 953 // init Piano ID 954 tp.push(['init', function() { 955 tp.pianoId.init(); 956 }]); 957 958 const isGooglebot = window.isRobot.googleBot(); 959 960 const isArticle = (data_layer.article.is_article === 'yes'); 961 962 const isCl3 = (parseInt(data_layer.article.content_level, 10) === 3); 963 964 if (isGooglebot) { 965 // we don't load Piano from all non-article pages 966 if (!isArticle) { 967 return; 968 } 969 970 // If we are on an article, we do not load piano on CL0, 1, or 2 971 if (!isCl3) { 972 return; 973 } 974 } 975 Object.keys(data_layer.piano.custom_variables).forEach(function (k) { 976 var v = data_layer.piano.custom_variables[k]; 977 978 if (v != '') { 979 tp.push(["setCustomVariable", k, v]); 980 } 981 }); 982 983 Object.keys(data_layer.piano.native_variables).forEach(function (k) { 984 var v = data_layer.piano.native_variables[k]; 985 if (v != '') { 986 tp.push([k, v]); 987 } 988 }); 989 990 tp.push(['setTags', data_layer.piano.tags]); 991 992 (function(src){ 993 var a=document.createElement("script"); 994 a.type = "text/javascript"; 995 a.async=true; 996 a.src=src; 997 var b=document.getElementsByTagName("script")[0]; 998 b.parentNode.insertBefore(a, b) 999 })("//experience.tinypass.com/xbuilder/experience/load?aid=ezH5Vwzcpu"); 1000} 1001 1002// Init Piano 1003const debug = document.cookie 1004 .split('; ') 1005 .find(row => row.startsWith('debug=')) 1006 ?.split('=')[1]; 1007 1008tp.push(["setDebug", debug === '1']); 1009 1010tp.push(["setApplePayMerchantId", 'merchant.nq.subssites.piano']); 1011 1012tp.push(["setUsePianoIdUserProvider", true ]); 1013 1014tp.push(["addHandler", "loginRequired", function(params) { 1015 // If they're already signed in, we don't need to do anything special. 1016 if (tp.user.isUserValid()) { 1017 return; 1018 } 1019 if (typeof window._overridePianoDefault !== 'undefined' && window._overridePianoDefault !== true) { 1020 console.log("TPL Called") 1021 tp.pianoId.show({ 1022 screen: 'login', 1023 displayMode: 'modal', 1024 loggedIn: (data) => { 1025 pianoId.loggedIn(); 1026 }, 1027 loggedOut: () => { 1028 console.log('TP-TJ: user logged out'); 1029 }, 1030 registrationSuccess: () => { 1031 pianoId.registered(); 1032 }, 1033 width: '500px', 1034 height: '460px', 1035 }); 1036 } 1037}]); 1038 1039tp.push(["addHandler", "checkoutSelectTerm", function (termDetails) { 1040 if (typeof termDetails.termId !== 'undefined') { 1041 window.selectedTermId = termDetails.termId; 1042 } 1043}]); 1044 1045tp.push(["addHandler", "showTemplate", function (templateParams) { 1046 showPianoTarget(templateParams); 1047}]); 1048 1049tp.push(["addHandler", "showOffer", function (offerParams) { 1050 window.shownOffer = true; 1051 1052 // Store some data we might need later. 1053 if (typeof offerParams.offerId !== 'undefined') { 1054 window.selectedOfferId = offerParams.offerId; 1055 } 1056 1057 showPianoTarget(offerParams); 1058}]); 1059 1060function handleFullWidthBanner(selector) { 1061 if (selector === '#po-overlay-articlegate-full-width-full-article-scroll-below') { 1062 document.querySelector(selector).classList.add(selector.replace('#', '')); 1063 } 1064 document.querySelector(selector).style.minHeight = "254px"; 1065 document.querySelector('#subscription-content').style.display = 'none'; 1066 document.querySelectorAll('.send-us-your-news-cta').forEach((el) => { el.style.display = 'none'; }); 1067 document.querySelectorAll('.mega-news-block').forEach((el) => { el.style.display = 'none'; }); 1068 1069 const block = document.querySelector(selector); 1070 const containerBlock = block.parentElement; 1071 const containerBlockHeight = 254; // to prevent abrupt jumping 1072 1073 if (!block) { return; } 1074 1075 block.style.display = 'block'; 1076 1077 const blockRect = block.getBoundingClientRect(); 1078 const startTop = blockRect.top + window.scrollY; 1079 const blockHeight = blockRect.height; 1080 const screenWidth = window.screen.width; 1081 1082 let lastState = ''; // 'top', 'bottom', 'default' 1083 1084 function getScrollbarWidth() { 1085 return window.innerWidth - document.documentElement.clientWidth; 1086 } 1087 1088 function updatePosition() { 1089 const scrollY = window.scrollY;
1090 const viewportHeight = window.innerHeight; 1091 const bottomTrigger = startTop + blockHeight - viewportHeight; 1092 1093 let newState = 'default'; 1094 1095 if (scrollY > startTop && screenWidth >= 768) { 1096 newState = 'top'; 1097 } else if (scrollY < bottomTrigger && screenWidth >= 768) { 1098 newState = 'bottom'; 1099 } else if (scrollY < bottomTrigger + 90 && screenWidth < 768) { 1100 newState = 'bottom-mobile'; 1101 } 1102 1103 const scrollbarWidth = getScrollbarWidth(); 1104 1105 if (newState !== lastState) { 1106 switch (newState) { 1107 case 'top': 1108 block.style.position = 'fixed'; 1109 block.style.top = '0'; 1110 block.style.bottom = 'auto'; 1111 block.style.marginLeft = '0'; 1112 block.style.marginRight = '0'; 1113 containerBlock.style.minHeight = `${containerBlockHeight}px`; 1114 break; 1115 1116 case 'bottom': 1117 block.style.position = 'fixed'; 1118 block.style.bottom = '0'; 1119 block.style.top = 'auto'; 1120 block.style.marginLeft = '0'; 1121 block.style.marginRight = '0'; 1122 block.style.width = `calc(100vw - ${scrollbarWidth}px)`; 1123 containerBlock.style.minHeight = 'unset'; 1124 break; 1125 1126 case 'bottom-mobile': 1127 block.style.position = 'fixed'; 1128 block.style.bottom = '90px'; 1129 block.style.top = 'auto'; 1130 block.style.marginLeft = 'calc(-100vw + 100%)'; 1131 block.style.marginRight = 'calc(-100vw + 100%)'; 1132 containerBlock.style.minHeight = 'unset'; 1133 break; 1134 1135 default: 1136 block.style.position = ''; 1137 block.style.top = ''; 1138 block.style.bottom = ''; 1139 block.style.width = `calc(100vw - ${scrollbarWidth}px)`; 1140 block.style.marginLeft = '-100vw'; 1141 block.style.marginRight = '-100vw'; 1142 containerBlock.style.minHeight = 'unset'; 1143 break; 1144 } 1145 1146 lastState = newState; 1147 } 1148 1149 requestAnimationFrame(updatePosition); 1150 } 1151 1152 updatePosition(); 1153 window.addEventListener('resize', updatePosition); 1154} 1155 1156function trackLocation(forceValidLocation = false) { 1157 var currentLocation = window.location.pathname; 1158 1159 let valid = false; 1160 1161 if (currentLocation.indexOf('puzzles') > -1) { 1162 valid = true; 1163 } 1164 1165 if (currentLocation.indexOf('pagesuite') > -1) { 1166 valid = true; 1167 } 1168 1169 var articleMatch = currentLocation.match(/(\d+)\.[^\/]+\/(r\/)?$/); 1170 if (articleMatch != null) { 1171 valid = true; 1172 } 1173 1174 if (forceValidLocation) { 1175 valid = true; 1176 } 1177 1178 if (currentLocation.indexOf('subscribe') > -1) { 1179 valid = false; 1180 } 1181 1182 if (!valid) { 1183 return; 1184 } 1185 1186 $.cookie('last-piano-page-interacted-with', currentLocation, {path: '/', domain: window.data_layer.site.cookie_domain}); 1187} 1188 1189function trackPianoWithNewRelic(templateName) { 1190 if (this.newrelic && typeof this.newrelic === 'object') { 1191 newrelic.setCustomAttribute('user_was_shown_piano_experience', templateName); 1192 } 1193} 1194 1195function handleOfferShow(params) { 1196 console.log('Piano params', params); 1197 1198 // If on the subscription page and the URL has a term ID and offer ID, show the relevant offer. 1199 if (typeof location.pathname !== 'undefined' && location.pathname === '/subscribe/') { 1200 var offerId = location.search.match(/offer_id=([A-Z0-9]+)/); 1201 if (offerId !== null && offerId.length > 1) { 1202 offerId = offerId[1]; 1203 } 1204 var termId = location.search.match(/term_id=([A-Z0-9]+)/); 1205 if (termId !== null && termId.length > 1) { 1206 termId = termId[1]; 1207 } 1208 if (offerId !== null && termId !== null) { 1209 tp.offer.show({'termId': termId, 'offerId': offerId}); 1210 } 1211 } 1212 1213 // we are only tracking 1214 var templateId = params.templateId; 1215 var variantId = params.templateVariantId; 1216 if (params.containerSelector !== '#po-inline-articlegate-fullarticle' && 1217 params.containerSelector !== '#po-overlay-articlegate-full-width-full-article-scroll-below' && 1218 params.containerSelector !== '#po-inline-articlegate-partialarticle' && 1219 params.containerSelector !== '#po-overlay-articlegate-full-width-scroll-below' 1220 ) { 1221 $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) { 1222 trackPianoSimplified(params, response.name); 1223 }); 1224 return; 1225 } 1226 1227 1228 $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) { 1229 trackPiano(params, response.name); 1230 }); 1231} 1232 1233function trackPiano(params, templateName) { 1234 trackPianoWithNewRelic(templateName); 1235 1236 if (typeof params.activeMeters === 'string') { 1237 activeMeters = JSON.parse(params.activeMeters); 1238 } else { 1239 activeMeters = params.activeMeters; 1240 } 1241 1242 var s = window.s; 1243 if (!s || !s.pageName) { 1244 // console.log("ADB: Setting s from backup"); 1245 s = window.backupAdobe; 1246 window.s = s; 1247 } 1248 1249 // this would call when CL3 is a hard gate 1250 if (!activeMeters && data_layer.article.content_level === '3') { 1251 s.eVar59 = templateName; 1252 s.eVar58 = data_layer.article.content_level; 1253 s.events = "event91"; 1254 s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar15,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,eVar79,eVar104,eVar106,eVar107,eVar108,eVar118,prop63,list3,events"; 1255 s.linkTrackEvents="event91"; 1256 s.tl(document, 'o', 'Metered Access Notice'); 1257 s.events = ''; 1258 return; 1259 } 1260 1261 if (!activeMeters) { 1262 return; 1263 } 1264 1265 var meterData = activeMeters[0]; 1266 1267 var meterName = meterData.meterName.toLowerCase(); 1268 1269 // track event 5 1270 if (meterName.indexOf('cl1') !== -1 || meterName.indexOf('cl2') !== -1 || meterName.indexOf('cl3') !== -1 || params.containerSelector === '#po-inline-articlegate-partialarticle' || params.containerSelector === '#po-overlay-articlegate-full-width-scroll-below') { 1271 s.eVar58 = data_layer.article.content_level; 1272 s.eVar80 = meterData.meterName + ',' + meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews; 1273 s.eVar59 = templateName; 1274 s.events = "event5"; 1275 s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3, events"; 1276 s.linkTrackEvents="event5"; 1277 } else { 1278 s.eVar80 = meterData.meterName + ',' + meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews; 1279 s.eVar59 = templateName; 1280 s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3, events"; 1281 } 1282 s.tl(document, 'o', 'Metered Access Notice'); 1283 s.events = ''; 1284 1285} 1286 1287/** 1288 * Just track the template name in 78 for non-article-interrupts/gates 1289 */ 1290function trackPianoSimplified(params, templateName) 1291{ 1292 trackPianoWithNewRelic(templateName); 1293 1294 var s = window.s; 1295 if (!s || !s.pageName) { 1296 // console.log("ADB: Setting s from backup"); 1297 s = window.backupAdobe; 1298 window.s = s; 1299 } 1300 s.eVar78 = templateName; 1301 s.events = 'event90'; 1302 s.linkTrackEvents="event90"; 1303 s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3,eVar78, events"; 1304 s.tl(document, 'o', 'Piano Template'); 1305} 1306 1307function raiseLaunchEvent(name) {
1308 var e = new Event('launch:piano:' + name); 1309 window.dispatchEvent(e); 1310} 1311 1312function removePianoToast() { 1313 setTimeout(() => { 1314 document.getElementById('po-overlay-toast-left').remove() 1315 }, 30000) 1316} 1317 1318function showPianoTarget(params) { 1319 handleOfferShow(params); 1320 trackLocation(); 1321 1322 if ($(params.containerSelector).length > 0) { 1323 const displayType = $(params.containerSelector).attr('data-display'); 1324 1325 if (displayType) { 1326 $(params.containerSelector).addClass(`shown-${displayType}`); 1327 } else { 1328 $(params.containerSelector).addClass('shown').show(); 1329 } 1330 1331 if ($(params.containerSelector).hasClass('piano--block-level') || $(params.containerSelector).hasClass('piano--inside-block')) { 1332 $(params.containerSelector).show(); 1333 } 1334 1335 if ( 1336 params.containerSelector === '#po-overlay-articlegate-full-width-scroll-below' || 1337 params.containerSelector === '#po-overlay-articlegate-full-width-full-article-scroll-below' 1338 ) { 1339 handleFullWidthBanner(params.containerSelector); 1340 } 1341 1342 if ($(params.containerSelector) === '#po-inline-subscribe-page') { 1343 $(params.containerSelector).show(); 1344 } 1345 1346 if (['#po-inline-blocksystem-target-e'].includes(params.containerSelector)) { 1347 $('#po-inline-blocksystem-target-e').show(); 1348 $('.piano-promo-container').show(); 1349 } 1350 1351 if (params.containerSelector === '#po-overlay-toast-left') { 1352 removePianoToast() 1353 } 1354 1355 if (params.containerSelector === '#po-overlay-toast-main-navigation') { 1356 removePianoToast() 1357 } 1358 1359 if (params.containerSelector === '#po-inline-articlewall-partialarticle-closable') { 1360 $('#po-inline-articlegate-partialarticle').css('display', 'none'); 1361 } 1362 1363 if (params.containerSelector === '#po-inline-articlewall-fullarticle-closable') { 1364 $('#po-inline-articlegate-fullarticle').css('display', 'none'); 1365 } 1366 1367 if (params.containerSelector === '#po-overlay-articlegate-full-width-full-article-scroll-below-closable') { 1368 $('#po-overlay-articlegate-full-width-full-article-scroll-below').css('display', 'none'); 1369 } 1370 } 1371} 1372 1373tp.push(["addHandler", "checkoutComplete", function(conversion) { 1374 var s = window.s; 1375 s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event. 1376 s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event. 1377 s.products = "Subscription : Metered Access;" + conversion.termId + ";1;"+conversion.chargeAmount; 1378 s.linkTrackEvents = "event4,purchase"; 1379 s.purchaseID = conversion.termConversionId; 1380 s.pageName = '(www) /subscribe/complete/'; 1381 // wipe out errors 1382 s.eVar31 = ''; 1383 s.linkTrackVars="eVar2,eVar3,eVar5,eVar6,eVar7,eVar8,eVar9,eVar10,eVar15,eVar16,eVar17,eVar18,eVar19,eVar20,eVar22,eVar23,eVar24,eVar25,eVar26,eVar61,eVar62,events,products,purchaseID"; 1384 1385 s.tl(true, 'o', 'Subscription'); 1386 1387 $.cookie('resourceConverted', conversion.rid, {path: '/', domain: window.data_layer.site.cookie_domain}); 1388 $.cookie('pianoConverted', '1', {path: '/', domain: window.data_layer.site.cookie_domain}); 1389 raiseLaunchEvent('checkoutComplete'); 1390 1391 // Clean Session Storage 1392 sessionStorage.removeItem('nq_selected_offer_id'); 1393 sessionStorage.removeItem('nq_selected_term_id'); 1394 sessionStorage.removeItem('nq_adobe_tracking_article_dimensions'); 1395 sessionStorage.removeItem('nq_adobe_tracking_visiting_dimensions'); 1396 1397 // Show Onboarding modal after subscription 1398 const lastPage = sessionStorage.getItem('last_piano_page_interacted_with'); 1399 const baseUrl = lastPage || window.location.href; 1400 1401 const url = new URL(baseUrl, window.location.origin); 1402 url.searchParams.set('show-onboarding', 'yes'); 1403 1404 setTimeout(() => { 1405 window.location.href = url.pathname + url.search; 1406 }, 2000); 1407}]); 1408 1409tp.push(["addHandler", "checkoutPaymentError", function(errorData) { 1410 var s = window.s; 1411 s.pageName = '(www) /subscribe/error/'; 1412 s.eVar31 = errorData.message; 1413 s.tl(true, 'o', 'CheckoutPaymentError'); 1414 1415 raiseLaunchEvent('checkoutPaymentError'); 1416}]); 1417 1418tp.push(["addHandler", "checkoutError", function(errorData) { 1419 var s = window.s; 1420 s.pageName = '(www) /subscribe/error/'; 1421 s.eVar31 = errorData.message; 1422 s.tl(true, 'o', 'CheckoutError'); 1423 raiseLaunchEvent('checkoutError'); 1424}]); 1425 1426tp.push(["addHandler", "startCheckout", function(options) { 1427 sessionStorage.setItem("nq_selected_offer_id", options.offerId); 1428 sessionStorage.setItem("nq_selected_term_id", options.termId); 1429 1430 if (!tp.user.isUserValid()) { 1431 window.location = '/user/create-account/subscribe/'; 1432 return; 1433 } 1434 1435 var s = window.s; 1436 s.eVar2 = '(www) /subscribe/payment/'; 1437 s.pageName = '(www) /subscribe/payment/'; 1438 const storedAdobeArticleDimensions = sessionStorage.getItem('nq_adobe_tracking_article_dimensions'); 1439 const storedAdobeVisitingDimensions = sessionStorage.getItem('nq_adobe_tracking_visiting_dimensions'); 1440 if (storedAdobeVisitingDimensions) { 1441 const storedAdobeVisitingDimensionsObj = JSON.parse(storedAdobeVisitingDimensions); 1442 s.eVar10 = storedAdobeVisitingDimensionsObj.eVar10; 1443 s.eVar22 = storedAdobeVisitingDimensionsObj.eVar22; 1444 s.eVar23 = storedAdobeVisitingDimensionsObj.eVar23; 1445 s.eVar24 = storedAdobeVisitingDimensionsObj.eVar24; 1446 } 1447 if (storedAdobeArticleDimensions) { 1448 const storedAdobeArticleDimensionsObj = JSON.parse(storedAdobeArticleDimensions); 1449 s.eVar10 = storedAdobeArticleDimensionsObj.eVar10; 1450 s.eVar15 = storedAdobeArticleDimensionsObj.eVar15; 1451 s.eVar22 = storedAdobeArticleDimensionsObj.eVar22; 1452 s.eVar23 = storedAdobeArticleDimensionsObj.eVar23; 1453 s.eVar24 = storedAdobeArticleDimensionsObj.eVar24; 1454 s.eVar25 = storedAdobeArticleDimensionsObj.eVar25; 1455 } 1456 // wipe out errors 1457 s.eVar31 = ''; 1458 s.events = ''; 1459 raiseLaunchEvent('startCheckout'); 1460 s.linkTrackVars="eVar10,eVar15,eVar22,eVar23,eVar24,eVar25"; 1461 s.t(); 1462}]); 1463 1464tp.push(["addHandler", "checkoutClose", function(conversion) { 1465 raiseLaunchEvent('checkoutClose'); 1466 1467 // Did they abandon the cart? If so: was anything in their cart?
1468 if (typeof conversion.state === 'undefined' || conversion.state !== 'close') { 1469 return; 1470 } 1471 if (window.selectedOfferId === null || window.selectedTermId === null) { 1472 return; 1473 } 1474 $.post('/ws/piano/abandoned-cart/', {offer_id: window.selectedOfferId, term_id: window.selectedTermId}); 1475}]); 1476 1477tp.push(["addHandler", "meterExpired", function(meterData){ 1478 var msg = "<div><b>meterName:</b> " + meterData.meterName 1479 + " | <b>views:</b> " + meterData.views 1480 + " | <b>totalViews:</b> " + meterData.totalViews 1481 + " | <b>viewsLeft:</b> " + meterData.viewsLeft 1482 + " | <b>maxViews:</b> " + meterData.maxViews 1483 + " | <b>callback:</b> " + meterData.callback + '</div>'; 1484 if ($.cookie('nq-show-piano-viewer') === 'yes') { 1485 $('#piano-meter-value').html(msg); 1486 $('#piano-meter-display').show(); 1487 $('#piano-meter-display-content').append(msg); 1488 } 1489 var cVal = window.location.href; 1490 1491 trackLocation(true); 1492 1493 console.log("Piano Meter Expired:", meterData.meterName); 1494 if (meterData.meterName === 'CL1 Meter') { 1495 console.log("Piano: Setting meter expired cookie"); 1496 $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); 1497 } 1498 1499 raiseLaunchEvent('meterExpired'); 1500 1501}]); 1502 1503tp.push(["addHandler", "meterActive", function(meterData){ 1504 var msg = "<div><b>meterName:</b> " + meterData.meterName 1505 + " | <b>views:</b> " + meterData.views 1506 + " | <b>totalViews:</b> " + meterData.totalViews 1507 + " | <b>viewsLeft:</b> " + meterData.viewsLeft 1508 + " | <b>maxViews:</b> " + meterData.maxViews 1509 + " | <b>callback:</b> " + meterData.callback + '</div>'; 1510 if ($.cookie('nq-show-piano-viewer') === 'yes') { 1511 $('#piano-meter-value').html(msg); 1512 $('#piano-meter-display').show(); 1513 $('#piano-meter-display-content').append(msg); 1514 } 1515 1516 console.log("Piano Meter running total:", meterData.meterName, meterData.totalViews, meterData.maxViews, meterData); 1517 if (meterData.meterName === 'CL1 Meter' && meterData.totalViews >= meterData.maxViews) { 1518 $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); 1519 } else { 1520 $.cookie('isMeterExpired', 'no', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); 1521 } 1522}]); 1523 1524 1525 1526runPiano('unrestricted'); 1527 1528</script>
1528 1529 1530 1531 1532 <link rel="apple-touch-icon" href="/resources/images/17416327/"> 1533 <link rel="apple-touch-icon" sizes="72x72" href="/resources/images/17416326/"> 1534 <link rel="apple-touch-icon" sizes="114x114" href="/resources/images/17416328/"> 1535 1536 1537 <!-- Add iconify --> 1538
1538<script src="https://code.iconify.design/1/1.0.7/iconify.min.js" integrity="sha384-jQq64HqdQD5xg0PPkpkCOW3x8Nsfx5UT1qWOpoJxLYy6Ef+5i+8xPoAj/I3B+ZMm" crossorigin="anonymous"></script>
1538 1539</head> 1540<body class="sticky-footer" data-cache-buster="vjoPdzgg" data-template="" data-template-colour="Blue" data-namespace="standard"> 1541 <!-- 1542 ##+ +## ##: `#####. ####### ### ### ###### `#####. ####### ### ,## +##### 1543 +## ###' ## ####### ######## ### ### ###### ####### ######## ### ,## ######: 1544 .## #### ## ### ### ### ### ###### ##, ### ### ### ### ### ,## ##` 1545 ##,#+##:## ### ### ####### ###### #####+ ### ### ####### ### ,## +##### 1546 ####`####+ ### ### ###### ####### #####+ ### ### ###### ### ,## #### 1547 #### .###. '## ##' ### ### ### ,##: ##, '## ##' ### ### ### ### '## +## 1548 :### ### ####### ### `##+ ### ### ##, ####### ### `##+ `####### ######+ 1549 ##: ### ##### ### ### ### ,### ##, ##### ### ### ##### ####+ 1550 1551Developers, designers, testers - interested in working for us? 1552Contact this guy....https://uk.linkedin.com/in/hillsimon 1553--> 1554 1555 1556 <div style="height: 0px"><div id="DFP_out_of_page"></div></div> 1557 1558 <div id="paywallWindowOverlay"></div> 1559 1560 1561 1562 <div id="takeover"> 1563 <div id="martini-config" class="layout"> 1564 <div id="header-content"> 1565 <!-- standard - header-1.html --> <header id="site-header" class="site-header site-header--1 header-bottom-margin" > 1566 1567 <div class="header-topnav" role="navigation" aria-label="top-navigation"> 1568 1569 <div class="container-inner-width"> 1570 <div class="header-topnav-links"> 1571 <ul class="list-style-none"> 1572 <li><a class="mar-nav--promo-link" href="/announcements/public_notices/">Public notices</a></li> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Cars</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="https://directory.worcesternews.co.uk/" target="blank">Local listings</a></li> <li><a class="mar-nav--promo-link" href="/li/">Local info</a></li> 1573 </ul> 1574 </div> 1575 <ul id="links-nav" class="header-topnav--links-nav list-style-none"> 1576 <li class="links-nav-label"><span class="links-nav-label-text">More</span> 1577 <ul class="list-style-none"> 1578 <li class="dropdown-icon-closed"> 1579 <span class="iconify" data-icon="akar-icons:chevron-down"></span> 1580 </li> 1581 <li class="dropdown-icon-open" style="display: none;"> 1582 <span class="iconify" data-icon="akar-icons:chevron-up"></span> 1583 </li> 1584 1585 <li class="links-nav-container"> 1586 <ul class="list-style-none"> 1587 <li><a class="mar-nav--promo-link" href="/announcements/public_notices/">Public notices</a></li> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Cars</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="https://directory.worcesternews.co.uk/" target="blank">Local listings</a></li> <li><a class="mar-nav--promo-link" href="/li/">Local info</a></li> 1588 </ul> 1589 </li> 1590 </ul> 1591 </li> 1592 </ul> 1593 </div> 1594 1595 </div> 1596 1597 <div class="site-brand container-inner-width"> 1598 <div class="site-brand__container"> 1599 <a href="/"> 1600 <img src="/resources/images/small_site_logo/" alt="Worcester News" class="site-brand__brand-image"/> 1601 </a> 1602 </div> 1603 <div class="simple-header-top-navigation"> 1604 <div class="simple-header-top-navigation__links"> 1605 1606 <div class="simple-header-top-navigation__links--primary-links header-primary-links"> 1607 1608 <a href="/subscribe/" aria-label="subscribe button" class="mar-btn mar-btn--promo-primary"> 1609 Subscribe 1610 </a> 1611 1612 1613 1614 <ul class="list-style-none top-nav-overflow"> 1615 <li><a href="/pagesuite/" class="mar-btn mar-btn--promo-secondary">Digital Edition</a></li> <li><a href="/puzzles/" class="mar-btn mar-btn--promo-primary">Puzzles</a></li> 1616 </ul> 1617 1618 </div> 1619 1620 1621 1622 <div class="simple-header-top-navigation__links--classifieds"> 1623 1624 </div> 1625 1626 1627 1628 </div> 1629 1630 <div class="simple-header-top-navigation__links--account"> 1631 1632 <a id="user-login-not-loggedin" href="/user/login/?redirect_url=/user/account/" class="simple-header-top-navigation__user-login mar-btn" title="User Account"> 1633 <div aria-label="User Account Button" id="headerUserAccountButton"> 1634 <svg xmlns="http://www.w3.org/2000/svg " width="14" height="16" viewB
1634ox="0 0 10 14" fill="none"> 1635<circle cx="5" cy="3.85718" r="3" fill="black"/> 1636<ellipse cx="5" cy="10.2857" rx="5" ry="2.85714" fill="black"/> 1637</svg> 1638 </div> 1639 </a> 1640 1641 </div> 1642 1643 1644 <button aria-expanded="false" aria-label="Open the menu" class="simple-header-top-navigation__mega-menu-btn primary-nav__menu--more-btn"> 1645 <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M3 6h18M3 12h18M3 18h18"/></svg> 1646 </button> 1647 1648</div> 1649 </div> 1650 1651 <div id="mega-menu" class="mega-menu" style="display: none;"> 1652 <div class="mega-menu__container mega-menu__wrapper"> 1653 <div class="mega-menu__cancel-button"> 1654 <i aria-expanded="true" aria-hidden="true" aria-label="Close the menu" class="mega-menu__cancel-button--icon"> 1655 <span class="iconify" data-icon="eva:close-fill" data-inline="false"></span> 1656 <div>Close</div> 1657 </i> 1658 </div> 1659 1660 1661 <div class="mega-menu-subscribe-banner"> 1662 <span>Stay ahead with a digital subscription</span> 1663 <a href="/subscribe/">Subscribe</a> 1664 </div> 1665 1666 1667 1668 <div class="mega-menu__features expanded-sub-nav"> 1669 <div class="mega-menu__features--links"> 1670 1671 <h4 class="prefix mega-menu__features--prefix link-item">Newsletters</h4> 1672 1673 <a href="/newsletters/964/" class="col link-item">Morning briefing</a> 1674 1675 1676 <a href="/newsletters/966/" class="col link-item">Daily catch-up</a> 1677 1678 1679 <a href="/newsletters/2201/" class="col link-item">Crime and court</a> 1680 1681 1682 <a href="/newsletters/2202/" class="col link-item">Politics Worcester</a> 1683 1684 1685 <a href="/newsletters/2204/" class="col link-item">Woo! It's the weekend</a> 1686 1687 1688 <a href="/newsletters/965/" class="col link-item">Sports AM</a> 1689 1690 1691 <a href="/newsletters/3232/" class="col link-item">Worcester Warriors</a> 1692 1693 </div> 1694 <hr class="divider none"> 1695 </div> 1696 1697 1698 <div class="mega-menu__search"> 1699 <form method="get" action="/search/"> 1700 <label class="mega-menu__search--title" for="searchbar-input">Search</label> 1701 <div class="mega-menu__search--bar"> 1702 <input id="searchbar-input" class="searchbar-input" type="text" name="search" placeholder="Search Worcester News"> 1703 <button class="searchbar-btn mira-search-button" type="submit"><span class="iconify" data-icon="fe:search" data-inline="false"></span></button> 1704 </div> 1705 </form> 1706 </div> 1707 1708 <div class="mega-menu__main-list link-list"> 1709 <div class="mega-menu__main-list--list-item"> 1710 <div> 1711 <div> 1712 <a href="/news/"> 1713 <h3><span class="mega-menu__main-list--parent-link">News</span></h3> 1714 </a> 1715 </div> 1716 1717 <div class="mega-menu__main-list--child-links"> 1718 <div class="child-item"> 1719 <a href="/news/worcester/">Worcester</a> 1720 </div> 1721 1722 1723 <div class="child-item"> 1724 <a href="/news/county_news/">County News</a> 1725 </div> 1726 1727 1728 <div class="child-item"> 1729 <a href="/news/droitwich/">Droitwich</a> 1730 </div> 1731 1732 1733 <div class="child-item"> 1734 <a href="/news/business/">Business</a> 1735 </div> 1736 1737 1738 <div class="child-item"> 1739 <a href="/news/crime/">Crime</a> 1740 </div> 1741 1742 1743 <div class="child-item"> 1744 <a href="/news/national/">UK News</a> 1745 </div> 1746 </div> 1747 1748 </div> 1749 <div class="divider"></div> 1750 </div> 1751 1752 1753 <div class="mega-menu__main-list--list-item"> 1754 <div> 1755 <div> 1756 <a href="/sport/"> 1757 <h3><span class="mega-menu__main-list--parent-link">Sport</span></h3> 1758 </a> 1759 </div> 1760 1761 <div class="mega-menu__main-list--child-links"> 1762 <div class="child-item"> 1763 <a href="/sport/local/">Local</a> 1764 </div> 1765 1766 1767 <div class="child-item"> 1768 <a href="/sport/wrfc/">Worcester Warriors</a> 1769 </div> 1770 1771 1772 <div class="child-item"> 1773 <a href="/sport/wccc/">Worcestershire CCC</a> 1774 </div> 1775 1776 1777 <div class="child-item"> 1778 <a href="/sport/wcfc/">Worcester City FC</a> 1779 </div> 1780 1781 1782 <div class="child-item"> 1783 <a href="/sport/raiders/">Worcester Raiders FC</a> 1784 </div> 1785 </div> 1786 1787 </div> 1788 <div class="divider"></div> 1789 </div> 1790 1791 1792 <div class="mega-menu__main-list--list-item"> 1793 <div> 1794 <div> 1795 <a href="/leisure/"> 1796 <h3><span class="mega-menu__main-list--parent-link">What's On</span></h3> 1797 </a> 1798 </div> 1799 1800 <div class="mega-menu__main-list--child-links"> 1801 <div class="child-item"> 1802 <a href="/leisure/local-events/">Local Events</a> 1803 </div> 1804 1805 1806 <div class="child-item"> 1807 <a href="/leisure/car_boot_sales/">Car Boot Sales</a> 1808 </div> 1809 1810 1811 <div class="child-item"> 1812 <a href="/leisure/exhibitions/">Exhibitions</a> 1813 </div> 1814 1815 1816 <div class="child-item"> 1817 <a href="/leisure/nightlife/">Nightlife</a> 1818 </div> 1819 1820 1821 <div class="child-item"> 1822 <a href="/leisure/comedy/">Comedy</a> 1823 </div> 1824 1825 1826 <div class="child-item"> 1827 <a href="/leisure/theatre/">Theatre</a> 1828 </div> 1829 1830 1831 <div class="child-item"> 1832 <a href="/leisure/reviews/">Reviews</a> 1833 </div> 1834 </div> 1835 1836 </div> 1837 <div class="divider"></div> 1838 </div> 1839 1840 1841 <div class="mega-menu__main-list--list-item"> 1842 <div> 1843 <div> 1844 <a href="/awards/"> 1845 <h3><span class="mega-menu__main-list--parent-link">Awards</span></h3> 1846 </a> 1847 </div> 1848 1849 <div class="mega-menu__main-list--child-links"> 1850 <div class="child-item"> 1851 <a href="/awards/health-and-social-care-awards/">Health & Social Care Awards</a> 1852 </div> 1853 </div> 1854 1855 </div> 1856 <div class="divider"></div> 1857 </div> 1858 1859 1860 <div class="mega-menu__main-list--list-item"> 1861 <div> 1862 <div> 1863 <a href="/magazines/"> 1864 <h3><span class="mega-menu__main-list--parent-link">E-Editions</span></h3> 1865 </a> 1866 </div> 1867 1868 <div class="mega-menu__main-list--child-links"> 1869 <div class="child-item"> 1870 <a href="/magazines/all/">All</a> 1871 </div> 1872 1873 1874 <div class="child-item"> 1875 <a href="/magazines/worcestershireinpandemic/">Worcestershire in the Pandemic</a> 1876 </div> 1877 1878 1879 <div class="child-item"> 1880 <a href="/magazines/ivingmagazine/">Midlands Living</a> 1881 </div> 1882 1883 1884 <div class="child-item"> 1885 <a href="/magazines/prime/">Prime</a> 1886 </div> 1887 </div> 1888 1889 </div> 1890 <div class="divider"></div> 1891 </div> 1892 1893 1894 <div class="mega-menu__main-list--list-item"> 1895 <div> 1896 <div> 1897 <a href="/notices/"> 1898 <h3><span class="mega-menu__main-list--parent-link">Notices</span></h3> 1899 </a> 1900 </div> 1901 1902 <div class="mega-menu__main-list--child-links"> 1903 <div class="child-item"> 1904 <a href="/notices/bereavement-guide/">Bereavement Guide</a> 1905 </div> 1906 </div> 1907 1908 </div> 1909 <div class="divider"></div> 1910 </div> 1911 1912 1913 <div class="mega-menu__main-list--list-item"> 1914 <div> 1915 <div> 1916 <a href="/submit-an-event/"> 1917 <h3><span class="mega-menu__main-list--parent-link">Submit an Event</span></h3> 1918 </a> 1919 </div> 1920 1921 </div> 1922 <div class="divider"></div> 1923 </div> 1924 1925 1926 <div class="mega-menu__main-list--list-item"> 1927 <div> 1928 <div> 1929 <a href="/young-reporter/"> 1930 <h3><span class="mega-menu__main-list--parent-link">Young Reporter</span></h3> 1931 </a> 1932 </div> 1933 1934 </div> 1935 <div class="divider"></div> 1936 </div> 1937 1938 1939 <div class="mega-menu__main-list--list-item"> 1940 <div> 1941 <div> 1942 <a href="/newspaper-archive/"> 1943 <h3><span class="mega-menu__main-list--parent-link">Newspaper Archive</span></h3> 1944 </a> 1945 </div> 1946 1947 </div> 1948 <div class="divider"></div> 1949 </div> 1950 </div> 1951 </div> 1952 1953 <div class="mega-menu__sticky"> 1954 <ul class="list-style-none mega-menu__sticky--list"> 1955 <div class="mega-menu__sticky--primary-links"> 1956 1957 <li> 1958 <a href="/subscribe/"> 1959 <button class="mar-btn--promo-primary"> 1960 Subscribe 1961 </button> 1962 </a></li> 1963 1964 <li><a href="/pagesuite/" class="mar-btn mar-btn--promo-secondary">Digital Edition</a></li> <li><a href="/puzzles/" class="mar-btn mar-btn--promo-primary">Puzzles</a></li> 1965 </div> 1966 <li><a class="mar-nav--promo-link" href="/announcements/public_notices/">Public notices</a></li> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Cars</a></li> <li><a class="mar-nav--promo-link" href="/homes/">
1966Homes</a></li> <li><a class="mar-nav--promo-link" href="https://directory.worcesternews.co.uk/" target="blank">Local listings</a></li> <li><a class="mar-nav--promo-link" href="/li/">Local info</a></li> 1967 </ul> 1968 </div> 1969</div> 1970 1971 1972 <!-- standard - SimplePrimaryNavigation.html --> <nav aria-label="Main navigation" id="primary-nav" class="primary-nav"> 1973 <div class="primary-nav__container container-inner-width"> 1974 <span class="primary-nav__left"> 1975 <nav class="primary-nav__menu"> 1976 <div class="primary-nav__menu-container"> 1977 <div class="primary-nav__menu--item"> 1978 <a class="primary-nav__menu--link" href="/news/">News</a> 1979 </div> 1980 1981 1982 <div class="primary-nav__menu--item"> 1983 <a class="primary-nav__menu--link" href="/sport/">Sport</a> 1984 </div> 1985 1986 1987 <div class="primary-nav__menu--item"> 1988 <a class="primary-nav__menu--link" href="/leisure/">What's On</a> 1989 </div> 1990 1991 1992 <div class="primary-nav__menu--item"> 1993 <a class="primary-nav__menu--link" href="/awards/">Awards</a> 1994 </div> 1995 1996 1997 <div class="primary-nav__menu--item"> 1998 <a class="primary-nav__menu--link" href="/magazines/">E-Editions</a> 1999 </div> 2000 2001 2002 <div class="primary-nav__menu--item"> 2003 <a class="primary-nav__menu--link" href="/notices/">Notices</a> 2004 </div> 2005 2006 2007 <div class="primary-nav__menu--item"> 2008 <a class="primary-nav__menu--link" href="/submit-an-event/">Submit an Event</a> 2009 </div> 2010 2011 2012 <div class="primary-nav__menu--item"> 2013 <a class="primary-nav__menu--link" href="/young-reporter/">Young Reporter</a> 2014 </div> 2015 2016 2017 <div class="primary-nav__menu--item"> 2018 <a class="primary-nav__menu--link" href="/newspaper-archive/">Newspaper Archive</a> 2019 </div> 2020 </div> 2021 </nav> 2022 </span> 2023 <span class="primary-nav__right"> 2024 <div class="primary-nav__menu--more-btn"> 2025 <button aria-expanded="false" aria-label="Open the menu" class="more-link more-burger-icon"> 2026 <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M3 6h18M3 12h18M3 18h18"/></svg> 2027 </button> 2028 </div> 2029 <div class="primary-nav__right--search"> 2030 <a class="primary-nav__container--search-icon search-icon" href="#" aria-label="Search for article"><span class="iconify" data-icon="ion:search-circle-sharp" data-inline="false"></span></a> 2031 </div> 2032 </span> 2033 </div> 2034</nav> 2035 2036 2037 2038 2039 2040 2041</header> 2042 </div> 2043 2044 <div id="redesign-content"> 2045 <div id="module-content" class="content"> 2046 <div class="piano--block-level block-bottom-margin" id="po-inline-banner-top-hero-content"></div> 2047 2048 2049 <!-- standard - ContactUs.html --> <div class="block-contact-us" aria-labelledby="contact-help-heading"> 2050 <h1 id="contact-help-heading" class="block-heading">Contact & Help</h1> 2051 <p class="block-contact-us__intro"> 2052 In need of help, support, or need to contact us, hopefully you’ll find the information you need below... 2053 </p> 2054 2055 <h2 class="block-heading" id="customer-support-heading">Customer Support</h2> 2056 <div class="block-contact-us__cta-section" aria-labelledby="customer-support-heading"> 2057 2058 2059 2060 2061 <!-- If not Forest Piano group with home delivery --> 2062 <div class="cta-item"> 2063 <a href="/contact/faq/digital-subscriptions/" class="mar-btn mar-btn--md mar-btn--light">Digital 2064 subscriptions</a> 2065 <p>For help or questions about digital subscriptions, including help with your current subscription</p> 2066 </div> 2067 <div class="cta-item"> 2068 <a href=" /contact/faq/newspaper-support" class="mar-btn mar-btn--md mar-btn--promo-secondary">Newspaper 2069 Home Delivery</a> 2070 <p>
2070For help with newspaper home delivery & subscriptions, including help with your current subscription 2071 </p> 2072 </div> 2073 2074 2075 2076 2077 2078 2079 <div class="cta-item"> 2080 <a href="/contact/faq/general-support/" class="mar-btn mar-btn--md mar-btn--dark">General Support</a> 2081 <p>Help & questions about technical, account, or any other issues you may be experiencing with any of 2082 our products</p> 2083 </div> 2084 </div> 2085 2086 <div class="block-contact-us__grid_container"> 2087 <div> 2088 <div class="social-field" style="display: none;"> 2089 <p class="social-field-text">Follow us</p> 2090 <!-- standard - SocialBar.html --> <div class="social-bar "> 2091 <!-- standard - SocialShareButton.html --> <div 2092 aria-label="Share" 2093 class="social-share-button mar-btn" 2094 id="social-share-button"> 2095 <p class="social-share-button__text" aria-label="Share">Share</p> 2096 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"> 2097 <path d="M11.6113 1.5C11.9036 1.49999 12.1919 1.57147 12.4535 1.70882C12.7152 1.84616 12.943 2.04562 13.119 2.2915C13.2951 2.53738 13.4146 2.82297 13.4682 3.12578C13.5217 3.4286 13.5079 3.74038 13.4277 4.0366C13.3475 4.33281 13.2032 4.60537 13.006 4.83282C12.8089 5.06027 12.5644 5.23641 12.2918 5.34737C12.0191 5.45834 11.7257 5.5011 11.4347 5.47229C11.1437 5.44348 10.863 5.34389 10.6148 5.18135C10.595 5.195 10.5746 5.20756 10.5536 5.21899L5.94303 7.73788C5.94569 7.80155 5.94569 7.86531 5.94303 7.92897L5.95196 7.93476L10.3586 10.6867C10.688 10.379 11.109 10.2021 11.5489 10.1867C11.9889 10.1714 12.4201 10.3184 12.7681 10.6025C13.1161 10.8865 13.3591 11.2898 13.455 11.7425C13.5509 12.1953 13.4937 12.6691 13.2933 13.0822C13.0929 13.4953 12.762 13.8216 12.3576 14.0048C11.9532 14.1881 11.5008 14.2167 11.0785 14.0857C10.6562 13.9548 10.2906 13.6725 10.0447 13.2877C9.79893 12.9029 9.68839 12.4396 9.73221 11.978L5.37504 9.25791C5.10887 9.53171 4.77193 9.71659 4.40645 9.78938C4.04098 9.86216 3.66325 9.81961 3.32064 9.66705C2.97802 9.51449 2.68577 9.25872 2.48054 8.93181C2.27531 8.6049 2.16624 8.22141 2.167 7.82943C2.16775 7.43745 2.27831 7.05444 2.4848 6.72841C2.69129 6.40239 2.98453 6.14787 3.32773 5.99679C3.67093 5.8457 4.04882 5.80477 4.41401 5.87912C4.7792 5.95347 5.11543 6.1398 5.38053 6.41474L9.78647 4.00731C9.71119 3.71225 9.70138 3.40289 9.7578 3.10318C9.81421 2.80348 9.93533 2.52149 10.1118 2.27906C10.2882 2.03662 10.5153 1.84025 10.7753 1.70515C11.0354 1.57005 11.3214 1.49985 11.6113 1.5Z" fill="#222222"/> 2098 </svg> 2099</div> 2100 2101 2102 2103 2104</div> 2105 2106 </div> 2107 <div class="block-contact-us__grid_container--card" aria-labelledby="main-details-heading"> 2108 <div id="main-details-heading" class="block-contact-us__grid_container--card-heading block-heading">Main 2109 Details</div> 2110 2111 <div class="block-contact-us__grid_container--card-title">Address:</div> 2112 <address class="block-contact-us__grid_container--card-small-text"> 2113 2114 Worcester News, 2115 2116 2117 Rear First Floor Office Redhill House, 2118 2119 2120 227 London Road, 2121 2122 2123 Worcester, 2124 2125 2126 Worcestershire, 2127 2128 2129 WR5 2JG 2130 2131 </address> 2132 2133 <div class="block-contact-us__grid_container--card-title block-contact-us__spacing ">Telephone:</div> 2134 <div class="block-contact-us__grid_container--card-small-text"> 2135 <a href="tel:(01905) 748200" 2136 aria-label="Call (01905) 748200">(01905) 748200</a> 2137 </div> 2138 2139 2140 2141 <div class="block-contact-us__grid_container--card-panel"> 2142 Inside the newsroom - 2143 <a href="/author/journalists/"> View all our journalists</a> 2144 </div> 2145 2146 <div class="block-contact-us__grid_container--card-title block-contact-us__spacing">Editor:</div> 2147 <div 2148 class="block-contact-us__grid_container--card-small-text block-contact-us__grid_container--card-link"> 2149 Stephanie Preece 2150 <a href="mailto:[email protected]">[email protected]</a>
2151 <span aria-label="Editor telephone">(01905) 742243</span> 2152 </div> 2153 2154 2155 2156 <div class="block-contact-us__grid_container--card-title block-contact-us__spacing">News desk:</div> 2157 <div 2158 class="block-contact-us__grid_container--card-small-text block-contact-us__grid_container--card-link"> 2159 <a href="mailto:[email protected]">[email protected]</a> 2160 <span aria-label="News desk telephone">(01905) 742256</span> 2161 </div> 2162 2163 2164 </div> 2165 2166 <div class="block-contact-us__grid_container--banner" aria-labelledby="get-involved-heading"> 2167 <div id="get-involved-heading" class="block-contact-us__grid_container--banner-heading block-heading"> 2168 Get <em>involved</em> with the news 2169 </div> 2170 <div class="block-contact-us__grid_container--banner-content"> 2171 <div class="block-contact-us__grid_container--banner-text"> 2172 Got a story, lead, picture, or video you would like to share with us? 2173 </div> 2174 <div> 2175 <a href="/send-us-your-news/" class="mar-btn mar-btn--md mar-btn--light"> 2176 Send us your news 2177 </a> 2178 </div> 2179 </div> 2180 </div> 2181 2182 <div class="block-contact-us__grid_container--card" aria-labelledby="newspaper-sales-heading"> 2183 <div id="newspaper-sales-heading" class="block-contact-us__grid_container--card-heading block-heading"> 2184 Newspaper Sales</div> 2185 <div 2186 class="block-contact-us__grid_container--card-small-text block-contact-us__grid_container--card-link"> 2187 <a href="mailto:[email protected]">[email protected]</a> 2188 <span aria-label="Newspaper sales telephone">(01905) 742207</span> 2189 </div> 2190 </div> 2191 2192 2193 <div class="block-contact-us__grid_container--card" aria-labelledby="commercial-heading"> 2194 <div id="commercial-heading" class="block-contact-us__grid_container--card-heading block-heading"> 2195 Commercial</div> 2196 <p> 2197 <a href="/advertising/" class="mar-btn mar-btn--md mar-btn--dark">Book an advert</a> 2198 </p> 2199 <div class="block-contact-us__grid_container--card-title block-contact-us__spacing ">Advertising:</div> 2200 <div class="block-contact-us__grid_container--card-small-text"> 2201 <div class="block-contact-us__grid_container--card-link"> 2202 <a href="mailto:[email protected]"> 2203 [email protected] 2204 </a> 2205 <span aria-label="Advertising telephone">(01905) 742372</span> 2206 </div> 2207 </div> 2208 2209 <div class="block-contact-us__grid_container--card-title block-contact-us__spacing">Recruitment:</div> 2210 <div class="block-contact-us__grid_container--card-small-text"> 2211 <div class="block-contact-us__grid_container--card-link"> 2212 <a href="mailto:[email protected]"> 2213 [email protected] 2214 </a> 2215 <span aria-label="Recruitment telephone">(0800) 9520111</span> 2216 </div> 2217 </div> 2218 2219 </div> 2220 2221 2222 <div class="block-contact-us__grid_container--card" aria-labelledby="other-info-heading"> 2223 <div id="other-info-heading" class="block-contact-us__grid_container--card-heading block-heading">Other 2224 Information</div> 2225 <div class="block-contact-us__grid_container--card-text"><p> 2226 <strong>Family Announcements</strong><br> 2227 01905 748300<br> 2228 <a href="mailto:[email protected]?subject=BMD%20Query%20Worcester%20News">[email protected]</a> 2229</p> 2230<p> 2231 2232</p> 2233<p> 2234 <strong>Public Notices (inc Goods Vehicle and Premises Licence Applications)</strong><br> 2235 01905 748300 2236</p> 2237<p> 2238 <a href="mailto:[email protected]">[email protected]</a> 2239</p> 2240<p> 2241 <br> 2242 <strong>For delivery of your Worcester News</strong><br> 2243 01905 742210 2244</p></div> 2245 </div> 2246 2247 2248 </div> 2249 <!-- end of grid 1 container --> 2250 <div> 2251 2252 <div class="block-contact-us__seo-section" aria-labelledby="localiq-heading"> 2253 <img src="/resources/responsive-static/images/LocaliQ.svg" alt="LOCALiQ logo"> 2254 <h2 id="localiq-heading">Digital Marketing Services from LOCALiQ in 2255 <a href="https://localiq.co.uk/locations/worcester?utm_source=Worcester_News&utm_medium=referral&utm_campaign=Contact_Us_Page" target="_blank" rel="nofollow">Worcester 2256 </a> 2257 </h2> 2258 <p> 2259 <strong>LOCALiQ</strong> 2260 is an award-winning Digital Marketing Agency, specialising in local marketing and accelerating 2261 growth for UK businesses. 2262 Part of <strong> Newsquest Media Group Ltd,</strong> publisher of The Worcester News, LOCALiQ is 2263 based in over 2264 <strong> 2265 <a href="https://localiq.co.uk/locations?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2266 rel="nofollow" target="_blank"> 2267 35 UK locations 2268 </a> 2269 </strong> and delivers exceptional results for B2B, B2C, e-commerce and services businesses. 2270 </p> 2271 2272 <div class="extra-text"> 2273 <a href="https://localiq.co.uk/digital-marketing-services/ppc?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2274 target="_blank" rel="nofollow">PPC,</a> 2275 <a href="https://localiq.co.uk/digital-marketing-services/seo?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2276 target="_blank" rel="nofollow"> SEO,</a> and 2277 <a href="https://localiq.co.uk/digital-marketing-services/web-design?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2278 target="_blank" rel="nofollow"> Website Design</a> are just some of the solutions LOCALiQ can 2279 support your business with. 2280 </div> 2281 <div class="cta-section"> 2282 <div class="mar-btn mar-btn--md mar-btn--dark"> 2283 <a href="https://localiq.co.uk/digital-marketing-services?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2284 target="_blank" rel="nofollow">View our digital marketing services 2285 </a> 2286 </div> 2287 <p> or 2288 <strong> 2289 <a href="https://localiq.co.uk/contact-us?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2290 target="_blank" rel="nofollow" class="contact-us-link">Contact us</a> 2291 </strong> 2292 </p> 2293 </div> 2294 </div> 2295 2296 <div class="block-contact-us__grid_container--card" aria-labelledby="notices-heading"> 2297 <div id="notices-heading" class="block-contact-us__grid_container--card-heading block-heading">Notices 2298 and Announcements 2299 </div> 2300 <div class="block-contact-us__grid_container--card-text"> 2301 <p>
2301Remember the life of a loved one with a notice in the newspaper and an online notice page for 2302 friends and 2303 family, or celebrate a happy occasion</p> 2304 </div> 2305 <a href="/notices/self-service/category" 2306 class="mar-btn mar-btn--md mar-btn--dark block-contact-us__spacing"> 2307 Book a death notice 2308 </a> 2309 <a href="https://selfservice.newsquest.co.uk/TouchpointSS/SDE#/" 2310 class="mar-btn mar-btn--md mar-btn--promo-secondary block-contact-us__spacing"> 2311 Book a celebration announcement 2312 </a> 2313 </div> 2314 <div class="block-contact-us__grid_container--card" aria-labelledby="careers-heading"> 2315 <div id="careers-heading" class="block-contact-us__grid_container--card-heading block-heading">Careers 2316 </div> 2317 <div class="block-contact-us__grid_container--card-text"> 2318 <p> 2319 <strong>The Worcester News</strong> is part of 2320 <strong><a class="nq-link" href="https://www.newsquest.co.uk/">Newsquest Media 2321 Group</a></strong>, 2322 a leading local news & magazine publisher 2323 with a portfolio of more than 200 brands. 2324 </p> 2325 <div class="block-contact-us__grid_container--card-other-link"> 2326 <a href="https://www.newsquest.co.uk/careers">What we offer</a> 2327 <a href="https://careers.newsquest.co.uk/#js-careers-jobs-block">Current vacancies</a> 2328 </div> 2329 </div> 2330 </div> 2331 <div class="block-contact-us__grid_container--card" aria-labelledby="policies-heading"> 2332 <div id="policies-heading" class="block-contact-us__grid_container--card-heading block-heading">Policies 2333 & T&Cs</div> 2334 <div class="block-contact-us__grid_container--card-text"> 2335 <p> 2336 To view our full policies including 2337 <a class="nq-link" href="https://www.newsquest.co.uk/legal/terms-conditions/">Terms & 2338 Conditions</a>, 2339 <a class="nq-link" href="https://www.newsquest.co.uk/terms-of-advertising">Terms of 2340 Advertising</a>, 2341 <a class="nq-link" href="https://www.newsquest.co.uk/legal/contributor-terms/">Contributor 2342 Terms</a>, 2343 <a class="nq-link" href="https://www.newsquest.co.uk/domains">Information for Domain Name 2344 Customers</a>, 2345 use the links provided. 2346 For more... 2347 2348 </p> 2349 <div class="block-contact-us__grid_container--card-other-link"> 2350 <span>Visit</span> <a href="https://www.newsquest.co.uk/">www.newsquest.co.uk</a> 2351 </div> 2352 </div> 2353 </div> 2354 </div> 2355 <!-- end of grid 1 container --> 2356 </div> 2357</div> 2358 </div> 2359 </div> 2360 2361 <footer class="site-footer" aria-label="site-footer"> 2362 <div class="container-inner-width"> 2363 <div class="links-grid" aria-label="site-footer-links"> 2364 <section class="get-in-touch-section"> 2365 <h2>Get in Touch</h2> 2366 <a href="/contact/">Contact Us</a><a href="/advertising/">Advertise</a><a href="/homedelivery/">Newspaper Home Delivery</a><a href="/send-us-your-news/">Send Us Your News</a><a href="/submit-an-event/">Add Your Event For Free</a><a href="/publications/">Our Publications</a> 2367 </section> 2368 <section class="follow-us-section"> 2369 <h2>Follow Us</h2> 2370<a 2371 class="footer__social-media--link" 2372 href="https://www.facebook.com/theworcesternews?fref=ts" 2373 title="Worcester News" 2374 role="link" 2375 data-media-type="facebook" 2376 >
2377 <i class="footer__social-media--icon iconify"></i> 2378 Worcester News 2379 </a> 2380 2381 2382 <a 2383 class="footer__social-media--link" 2384 href="https://www.facebook.com/worcesternewssport?fref=ts" 2385 title="Worcester News Sport" 2386 role="link" 2387 data-media-type="facebook" 2388 > 2389 <i class="footer__social-media--icon iconify"></i> 2390 Worcester News Sport 2391 </a> 2392 2393 2394 <a 2395 class="footer__social-media--link" 2396 href="https://twitter.com/worcesternews" 2397 title="@worcesternews" 2398 role="link" 2399 data-media-type="twitter" 2400 > 2401 <i class="footer__social-media--icon iconify"></i> 2402 @worcesternews 2403 </a> 2404 2405 2406 <a 2407 class="footer__social-media--link" 2408 href="https://twitter.com/Worcesternewsp3" 2409 title="Worcester News Sport" 2410 role="link" 2411 data-media-type="twitter" 2412 > 2413 <i class="footer__social-media--icon iconify"></i> 2414 Worcester News Sport 2415 </a> 2416 </section> 2417 <section class="useful-links-section"> 2418 <h2>Useful Links</h2> 2419 <div class="useful-links"> 2420 <section> 2421 <a href="/subscribe/">Subscriptions</a><a href="/newsletters/">Newsletters</a><a href="/reader-rewards/">Reader Rewards</a><a href="/notices/">Death Notices</a><a href="/announcements/">Announcements</a><a href="/announcements/public_notices/">Public Notices</a> 2422 </section> 2423 <section> 2424 <a href="https://www.exchangeandmart.co.uk/" target="_blank">Exchange and Mart</a><a href="https://newsquest.newsprints.co.uk/" target="_blank">Photo Sales</a><a href="http://leap.worcesternews.co.uk" target="_block">Leap</a><a href="/archive/" style="display: inline-block">Archive</a> | <a href="/misc/sitemap/" style="display: inline-block">Sitemap</a><a href="/gdpr/" class="gdpr-option-v2" data-v2-id="1170586" data-is-gate="yes" rel="nofollow">Manage Consent</a><a href="https://www.newsquest.co.uk/legal/ai-notice/" target="_blank">AI Notice</a> 2425 </section> 2426 </div> 2427 </section> 2428 <section class="ipso-terms"> 2429 <img class="ipso-logo" src="/resources/responsive-static/mds/images/ipso-regulated.png" alt="IPSO Regulated image" /> 2430 <p class="ipso-copy">This website and associated newspapers adhere to the Independent Press Standards Organisation's 2431 Editors' Code of Practice. If you have a complaint about the editorial content which relates to 2432 inaccuracy or intrusion, then please <a class="footer__ipso-terms--link" href="/contact"> 2433 contact the editor here</a>. 2434 If you are dissatisfied with the response provided you can 2435 <a class="footer__ipso-terms--link" href="https://www.ipso.co.uk/contact-us/" target="_block">contact IPSO here</a></p> 2436 </section> 2437 </div> 2438 <div class="notice" aria-label="site-footer-notice"> 2439 <img src="/resources/responsive-static/mds/images/newsquest.png" alt="Newsquest" style="width: 193px"/> 2440 <p><strong>© 2001-2026. The Worcester News</strong> is owned and operated by Newsquest Media Group Ltd, an audited local newspaper network.</p> 2441 <p>Visit <a href="https://www.newsquest.co.uk/" target="_blank">newsquest.co.uk</a> to view our <a href="https://www.newsquest.co.uk/our-policies/" target="_blank">policies</a>, <a href="https://www.newsquest.co.uk/legal/" target="_blank" >terms</a> and <a href="https://www.newsquest.co.uk/legal/" target="_blank" >legal agreements</a>.</p> 2442 <p>The Echo Building, 18 Albert Road, Bournemouth, England BH1 1BZ. Registered in England & Wales | 01676637</p> 2443 </div> 2444 </div> 2445</footer> 2446 2447 2448 <div id="fb-root"></div> 2449 2450 2451 </div> 2452 </div> 2453 2454 2455 2456 <div class="mar-modal-container mar-modal-container--animate mar-modal-container--animate-out visually-hidden"> 2457 <div class="mar-modal-overlay" data-uses-js="close-modal"></div> 2458 2459 <div aria-label="Pop up dialog" class="mar-modal" tabindex="-1" role="dialog"> 2460 <div class="mar-modal__header"> 2461 <h3 class="mar-modal__title">Modal headline</h3> 2462 2463 <div class="mar-modal__close" data-uses-js="close-modal"> 2464<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2465 <path fill-rule="evenodd" clip-rule="evenodd" d="M7.60714 6L11.6518 10.0446C11.7589 10.1518 11.8438 10.2768 11.9062 10.4196C11.9688 10.5625 12 10.7143 12 10.875C12 11.1786 11.8884 11.442 11.6652 11.6652C11.442 11.8884 11.1696 12 10.8482 12C10.6875 12 10.5357 11.9688 10.3929 11.9062C10.25 11.8438 10.1339 11.7589 10.0446 11.6518L6 7.60714L1.95536 11.6518C1.84821 11.7589 1.72321 11.8438 1.58036 11.9062C1.4375 11.9688 1.28572 12 1.125 12C0.821427 12 0.558037 11.8884 0.334821 11.6652C0.111606 11.442 0 11.1786 0 10.875C0 10.7143 0.0312497 10.5625 0.09375 10.4196C0.15625 10.2768 0.241071 10.1518 0.348214 10.0446L4.36607 6L0.348214 1.95536C0.241071 1.84821 0.15625 1.72768 0.09375 1.59375C0.0312497 1.45982 0 1.3125 0 1.15179C0 0.830355 0.111606 0.558037 0.334821 0.334821C0.558037 0.111606 0.821427 0 1.125 0C1.28572 0 1.4375 0.0312497 1.58036 0.09375C1.72321 0.15625 1.84821 0.241071 1.95536 0.348214L6 4.39286L10.0446 0.348214C10.1339 0.241071 10.25 0.15625 10.3929 0.09375C10.5357 0.0312497 10.6875 0 10.8482 0C11.1696 0 11.442 0.111606 11.6652 0.334821C11.8884 0.558037 12 0.830355 12 1.15179C12 1.3125 11.9688 1.45982 11.9062 1.59375C11.8438 1.72768 11.7589 1.84821 11.6518 1.95536L7.60714 6Z" fill="#9DA0A4"/> 2466</svg> 2467 2468 2469 <span>Close</span> 2470 </div> 2471 </div> 2472 2473 <div class="mar-modal__body">Automatically injected HTML goes here</div> 2474 2475 <div class="mar-modal__actions"> 2476<!-- standard - Buttons.html --> 2477 2478<button 2479 type="button" 2480 data-uses-js="modal-submit" 2481 2482 class=" mar-btn 2483 mar-btn--light 2484 mar-btn--md 2485 2486 2487 " 2488> 2489 Submit 2490</button> 2491 2492 2493 2494 2495<!-- standard - Buttons.html --> 2496 2497<button 2498 type="button" 2499 data-uses-js="modal-cancel" 2500 2501 class=" mar-btn 2502 mar-btn--outline 2503 mar-btn--md 2504 2505 2506 " 2507> 2508 Cancel 2509</button> 2510 2511 2512 2513 </div> 2514 </div> 2515</div> 2516 2517</body> 2518 2519<div id="outbrain-holder"> 2520 <div id="DFP_standard_mpu_3"></div> 2521 <div id="DFP_standard_mpu_4"></div> 2522 <div id="DFP_standard_mpu_5"></div> 2523 <div id="DFP_standard_mpu_6"></div> 2524 <div id="DFP_standard_mpu_7"></div> 2525</div>
2526<script> 2527 2528const elementToObserve = document.querySelector("#outbrain-holder"); 2529 2530// create a new instance of `MutationObserver` named `observer`, 2531// passing it a callback function 2532const observer = new MutationObserver(function(e) { 2533 $.each(e, function(j, obs) { 2534 $.each(obs.removedNodes, function (i, node) { 2535 var id = $(node).attr('id'); 2536 addAdSlot(id, id.replace('DFP_', '')); 2537 }); 2538 }); 2539}); 2540 2541// call `observe()` on that MutationObserver instance, 2542// passing it the element to observe, and the options object 2543observer.observe(elementToObserve, {subtree: true, childList: true}); 2544</script>
2544 2545
2546<script> 2547window.domComplete = performance.now(); 2548</script>
2548 2549
2550<script type="text/javascript"> 2551path = document.location.href.split("/"); 2552var prop30 = qs.get('lp'); 2553var prop43 = qs.get('ref'); 2554var pType="Newsquest\Modules\ContactUsModule" 2555 2556if (pType === 'BlockArticleModule' || pType === 'NationalNewsModule' || pType === 'BlockWhatsOnModule') { 2557 pType = 'ArticleModule'; 2558} 2559for(x=4; x<7; x++) 2560{ 2561 if (typeof path[x] == 'undefined') 2562 { 2563 path[x] = ''; 2564 } 2565 if(path[x] == "" || (pType == "ArticleModule" && path[x].match(/[0-9]+\./)) || (path[x].indexOf('?') > -1)) 2566 { 2567 path[x] = path[x-1]; 2568 } 2569 else 2570 { 2571 path[x] = path[x-1] + "/" + path[x]; 2572 } 2573 path[x] = path[x].replace(/\/undefined/g,""); 2574} 2575sitename = path[2].split("."); 2576 2577pathN= unescape(document.location.pathname.toString()); 2578matches = pathN.match(/(\w+)\.(in|near|compare)\.([\,a-zA-Z0-9\ _-]+)[\/]?$/); 2579detailMatches = pathN.match(/(\w+)\.detail\.(.*)$/); 2580if (detailMatches !== null && detailMatches.length > 1) 2581{ 2582 matches = detailMatches; 2583} 2584 2585if (matches !== null && matches.length > 1) 2586{ 2587 var subfolder = ''; 2588 path[3] = 'li'; 2589 path[4] = 'li/'+subfolder; 2590 path[5] = 'li/'+subfolder+'/'+matches[1]; 2591 path[6] = 'li/'+subfolder+'/'+matches[1]; 2592} 2593if (pathN === '/') 2594{ 2595 path[3] = 'homepage'; 2596 path[4] = 'homepage'; 2597 path[5] = 'homepage'; 2598 path[6] = 'homepage'; 2599} 2600 2601 2602function filterArray(arr) { 2603 var retArr = []; 2604 $.each(arr, function(i, part) { 2605 if (part !== '') { 2606 retArr.push(part); 2607 } 2608 }); 2609 2610 return retArr; 2611} 2612</script>
2612 2613 2614
2615<script type="text/javascript"> 2616var known = $.cookie('__siren') ? '1' : '0' ; 2617</script>
2617 2618
2619<script type="text/javascript"> 2620 2621var known = $.cookie('__siren') ? '1' : '0' ; 2622var ref = document.referrer; 2623var parser = document.createElement('a'); 2624parser.href = ref; 2625 2626// values in the below MUST be strings 2627var targeting = { 2628 'context': '', 2629 2630 'domain': 'www.worcesternews.co.uk', 2631 'isLanding': 'yes', 2632 'top_path': 'contact', 2633 'weather': 'sun'.toLowerCase(), 2634 'jbsjs': ''.toLowerCase(), 2635 'site_search': '', 2636 'bmd_cat': '', 2637 'wt': '11-15', 2638 'cmpid': qs.get('cmpid'), 2639 'refdm': parser.hostname, 2640 'k': known, 2641 'g': 'u' , 2642 'a': '0' , 2643 'topic': '', 2644 'publication': '', 2645 'primary_tag_future_use': '', 2646 'site': (isMobile()) ? 'mobile': 'desktop', 2647 'r': data_layer.user.subscription_plan !== '' 2648 ? '2' // 2 = subscribed 2649 : data_layer.user.is_logged_in == 'yes' 2650 ? '1' // 1 = registered 2651 : '0', // 0 = anonymous 2652}; 2653 2654if (!usePrebid) { 2655 targeting.adrq = 'adl'; 2656} 2657 2658if (data_layer.video.exists === 'yes') { 2659 targeting.ptype = 'video'; 2660} 2661 2662if ($.cookie('isMeterExpired') === 'yes' && window.data_layer.article.is_article) { 2663 var articleContentLevel = parseInt(window.data_layer.article.content_level, 10) || 0; // account for NaN 2664 if (articleContentLevel !== 0 && window.data_layer.article.content_level_open_access === 'no') { 2665 targeting.ao = 'y'; 2666 } 2667} 2668 2669if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { 2670 targeting.dfpcsnt = 'yes'; 2671} else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { 2672 targeting.dfpcsnt = 'no'; 2673} else { 2674 targeting.dfpcsnt = 'none'; 2675} 2676 2677if (typeof MobileDetect !== "undefined") { 2678 targeting.canbb = (window.screen.width > 960) ? 'y' : 'n'; 2679} 2680 2681if (typeof module_targeting === "object") { 2682 targeting = addToTargeting(targeting, module_targeting); 2683} 2684 2685// $.each(apData, function (k, v) { 2686// targeting[k] = v; 2687// }); 2688 2689// if (typeof gs_channels !== 'undefined') { 2690// targeting.gs_channels = gs_channels; 2691// } 2692 2693targeting = addToTargeting(targeting, data_layer_helper.homesData); 2694 2695targeting.article_id = ''; 2696var googleSiteName = 'www.worcesternews.co.uk'; 2697var googlePath = '/contact/'; 2698 2699var googleNetworkCode = 154725070; 2700 2701var googleChildNetworkCode = 22694024870; 2702var googleId = '/'+googleNetworkCode + ',' + googleChildNetworkCode + '/' + googleSiteName+googlePath; 2703 2704if (googleId.charAt(googleId.length - 1) === '/') { 2705 googleId = googleId.slice(0, -1); 2706} 2707 2708var googletag = googletag || {}; 2709googletag.cmd = googletag.cmd || []; 2710 2711googletag.cmd.push(function () { 2712 var _YB = _YB || { 2713 ab: function () { 2714 return _YB.dool ? "b" : "a" + Math.floor(Math.random() * 10); 2715 }, 2716 dool: Math.random() >= 0.1, 2717 }; 2718 var yb_ab; 2719 if (Math.random() <= 0.9) { 2720 yb_ab = _YB.ab(); 2721 } else { 2722 yb_ab = "c"; 2723 } 2724 googletag.pubads().setTargeting("yb_ab", yb_ab); 2725}); 2726 2727googletag.cmd.push(function() { 2728 googletag.pubads().set("adsense_background_color", "FFFFFF"); 2729 googletag.pubads().setTargeting('rfs', "0"); 2730 $.each(targeting, function (key, value) { 2731 2732 // No real value so exclude 2733 if (value === 0 || value === '' || value === null) { 2734 return; 2735 } 2736 googletag.pubads().setTargeting(key, value); 2737 }); 2738 2739}); 2740 2741if (isMobile() && '' === 'top') { 2742 $('.desktop-standard-leaderboard').remove(); 2743 $('.mobile-top-leaderboard').show(); 2744 $('#DFP_top_leaderboard_mobile').attr('id', 'DFP_top_leaderboard'); 2745} else { 2746 $('.mobile-top-leaderboard').remove(); 2747} 2748// Ads 2749var adUnits = []; 2750 2751hideAdsByScreensize(); 2752 2753if (blackListAds.length > 0) { 2754 removeBlacklistAds(blackListAds); 2755} 2756 2757$.each(unfilteredAdUnits, function (i, unit) { 2758 removeWhitelistAds(unit); 2759}); 2760 2761// set up a holder for all the adverts so we can do things with them later 2762var dfpHolder = {}; 2763// the set up code 2764googletag.cmd.push(function() { 2765 $.each(adUnits, function(i, data) { 2766 2767 // check if the dom exists 2768 if ($('#'+data.domName).length === 0) { 2769 return; 2770 } 2771 2772 var dfp = null; 2773 2774 if (data.slotType === 'standard') 2775 { 2776 // get the correct sizes, using the alternate_sizes if they exist and we are on a mobile site 2777 var sizes = data.sizes; 2778 if (data.alternate_mobile_size && isMobile()) { 2779 sizes = data.alternate_mobile_size; 2780 } 2781 // push this ad slot through 2782 dfp = googletag.defineSlot(googleId, sizes, data.domName) 2783 .addService(googletag.pubads()) 2784 .setTargeting("position", data.positionName) 2785 .setCollapseEmptyDiv(data.collapseContainer); 2786 // check if we have an array of targets, and assign them as a companion if we do 2787 if (data.targets instanceof Array && data.targets.length > 0 ) { 2788 dfp.setTargeting('companion', data.targets); 2789 } 2790 2791 } 2792 else if (data.slotType === 'outofpage') 2793 { 2794 dfp = googletag.defineOutOfPageSlot(googleId, data.domName) 2795 .addService(googletag.pubads()) 2796 .setTargeting("position", data.positionName) 2797 .setCollapseEmptyDiv(data.collapseContainer); 2798 // check if we have an array of targets, and assign them as a companion if we do 2799 if (data.targets instanceof Array && data.targets.length > 0 ) { 2800 dfp.setTargeting('companion', data.targets); 2801 } 2802 } 2803 2804 // store 2805 dfpHolder[data.domName] = dfp; 2806 2807 }); 2808 2809 if (adLight === true) { 2810 googletag.pubads().setCategoryExclusion('adlight'); 2811 // var adlightexplanation = '<div class="adlight-explanation">I\'m a subscriber <a href="#" class="adlight-explanation-link">Why am I seeing this advert?</a></div>'; 2812 // if ($('#DFP_premium_mpu').length > 0) { 2813 // $('#DFP_premium_mpu').before(adlightexplanation); 2814 // } 2815 2816 // if ($('#DFP_standard_mpu_1').length > 0) { 2817 // $('#DFP_standard_mpu_1').before(adlightexplanation); 2818 // } 2819 2820 // var imageIds = [11497497, 11497535, 11497536, 11497541, 11497542, 11497545, 11497546, 11497547]; 2821 // var imageId = imageIds[Math.floor(Math.random() * imageIds.length)]; 2822 // $('.adlight-explanation-link').click(function(e) { 2823 // e.preventDefault(); 2824 // $('#adlight-explanation-modal-image').attr('src', '/resources/images/' + imageId + '/').show(); 2825 // $('#adlight-explanation-modal').modal(); 2826 // }); 2827 } 2828 2829 // send the request 2830 googletag.pubads().enableSingleRequest(); 2831 2832 googletag.enableServices(); 2833 2834 googletag.pubads().addEventListener('slotVisibilityChanged', function(event) { 2835 if (event.slot.getResponseInformation().creativeTemplateId === 828288 || 2836 event.slot.getResponseInformation().creativeTemplateId === 12383216 ) { 2837 console.log('DFP: Magic template id detected, not refreshing'); 2838 return; 2839 } 2840 var slotName = ''; 2841 $.each(dfpHolder, function (a, e) { 2842 if (e == event.slot) { 2843 slotName = a; 2844 } 2845 }); 2846 if (typeof window.advertisingTimer !== 'undefined') { 2847 var perc = event.inViewPercentage; 2848 window.advertisingTimer.timer(slotName, perc); 2849 } 2850 }); 2851}); 2852 2853// the display code 2854$.each(adUnits, function(i, data) { 2855 2856 // check if the dom exists 2857 if ($('#'+data.domName).length === 0) { 2858 return; 2859 } 2860 2861 if (data.domName === 'DFP_interstitial_mpu') { 2862 if (!inter.checkVisit()) { 2863 return; 2864 } 2865 } 2866 2867 // are we manually loading it? 2868 if ($('#'+data.domName).attr('data-manual-loading') === "yes") { 2869 return; 2870 } 2871 // for mobile, we check if the dom element has the data-delay-loading attribute set to "1" 2872 else if ($('#'+data.domName).attr('data-delay-loading') === "yes") { 2873 2874 // load it 2875 $('#'+data.domName).appear(); 2876 $(document.body).on('appear', '#'+data.domName, function(e, allElement) { 2877 2878 // don't call it many times 2879 if ($(this).attr('data-processed') === 'yes') { 2880 return; 2881 } 2882 2883 $(this).attr('data-processed', 'yes'); 2884 2885 // display the google ad 2886 googletag.display(data.domName); 2887 googletag.pubads().refresh([dfpHolder[data.domName]]); 2888 }); 2889 return; 2890 } 2891 googletag.cmd.push(function() { 2892 googletag.display(data.domName); 2893 }); 2894}); 2895window.googleComplete = performance.now(); 2896window.googleReady = true; 2897 2898// METHODS 2899function addToTargeting(targeting, data) { 2900 if (!data) { 2901 return targeting; 2902 } 2903 $.each(data, function (key, value) { 2904 if (!value) { 2905 return; 2906 } 2907 targeting[key] = value; 2908 }); 2909 return targeting; 2910} 2911 2912function addAdSlot(slotName, slot, initHidden) { 2913 console.log("Add ad slot called for %s %s", slotName, slot); 2914 // check if item already exists 2915 if (typeof window.dfpHolder[slotName] !== 'undefined') { 2916 return; 2917 } 2918 2919 if (window.adLight === true) { 2920 return; 2921 } 2922 window.googletag.cmd.push(function() { 2923 var dfp = googletag.defineSlot(window.googleId, [[300,250]], slotName) 2924 .setTargeting('position', [slot]) 2925 .addService(googletag.pubads()); 2926 window.dfpHolder[slotName] = dfp; 2927 2928 if (!initHidden) { 2929 googletag.pubads().refresh([dfp]); 2930 2931 return; 2932 } 2933 }); 2934} 2935 2936function hideAdsByScreensize() { 2937 if (window.screen.width < 728 && $('#BlockArticleContainer').length > 0) { 2938 if ('130' === '1147') { 2939 $('#DFP_out_of_page').remove(); 2940 } else { 2941 $('#DFP_premium_mpu').remove(); 2942 } 2943 $('#DFP_on_scroll').remove(); 2944 } else if (window.screen.width < 728 && 2945 ( $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='9']").length > 0 || 2946 $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='12']").length > 0 || 2947 $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='18']").length > 0 || 2948 $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='24']").length > 0 ) 2949 ) { 2950 const adElement = document.querySelector('#high_vis_container'); 2951 $('.omnicard[data-position="5"]').after(adElement); 2952 } 2953 2954 if ('130' === '1147' && window.screen.width > 450) { 2955 $('#DFP_bottom_leaderboard').remove(); 2956 } 2957 2958 if ('130' === '1147' && window.screen.width < 728) { 2959 $('#DFP_top_leaderboard').remove(); 2960 } 2961 2962 if ('130' === '1147') { 2963 $('#DFP_teads').remove(); 2964 $('#DFP_out_of_page').remove(); 2965 } 2966 2967 if ($('#comments-in-page').length === 1 && window.screen.width > 450) { 2968 $('#DFP_top_leaderboard').parent().remove(); 2969 $('#DFP_bottom_leaderboard').parent().remove(); 2970 // $('#DFP_standard_mpu_1').parent().remove(); 2971 } 2972} 2973 2974function removeBlacklistAds(blackListAds) { 2975 $.each(blackListAds, function(i, name) { 2976 removeAdContainer(name); 2977 }); 2978} 2979 2980function removeWhitelistAds(unit) { 2981 // VAST (video) ad units never get displayed in here. 2982 if (unit.isVast) { 2983 return; 2984 } 2985 2986 // if we have an ad-light experience 2987 if (whiteList === true) { 2988 if (typeof whiteListAds[unit.positionName] === 'undefined') { 2989 removeAdContainer(unit.domName) 2990 return; 2991 } 2992 } 2993 2994 adUnits.push(unit); 2995} 2996 2997function removeAdContainer(name) { 2998 const element = document.getElementById(name); 2999 // doesn't exist? exit 3000 if(!element) { 3001 return; 3002 } 3003 3004 const parent = element.parentElement; 3005 if (parent && parent.classList.contains('block-bottom-margin')) { 3006 // if immediate parent contains block-bottom-margin as a class, remove the parent as well 3007 parent.classList.remove('block-bottom-margin'); 3008 } 3009 if (parent && parent.classList.contains('mar-leaderboard--top')) { 3010 // in case of leaderboard, remove as has min-height 3011 parent.remove(); 3012 return; 3013 } 3014 3015 if (parent && parent.classList.contains('mar-leaderboard--bottom')) { 3016 // in case of article ad container, remove as has min-height 3017 parent.remove(); 3018 return; 3019 } 3020 3021 element.remove(); 3022} 3023</script>
3023 3024 3025
3026<script src="/resources/responsive-static/build/mds/js/global.js?cb=vjoPdzgg"></script>
3026 3027 3028 3029 3030 3031
3032<script src="/__siren/"></script>
3032 3033 3034 3035
3036<script type="text/javascript"> 3037 var s_account="newsquestgroupprod"; 3038</script>
3038 3039
3040<script type="text/javascript" src="/resources/responsive-static/vendor/adobe/VisitorAPI.js?cb=vjoPdzgg"></script>
vendor: 1 bytes, line 3040
3040
3041<script type="text/javascript" src="/resources/responsive-static/vendor/adobe/omniture.js?cb=vjoPdzgg"></script>
3041 3042
3043<script type="text/javascript"> 3044 3045function getOmniturePath() { 3046 var path = ''; 3047 if ($('#gallery-base-url').length === 1) { 3048 path = $('#gallery-base-url').val(); 3049 } 3050 else { 3051 path = window.location.pathname; 3052 } 3053 return path; 3054} 3055 3056function getPositionFromCookie() { 3057 const cookieName = 'tracking_block_index'; 3058 3059 const ref = document.cookie 3060 .split('; ') 3061 .find(row => row.startsWith(`${cookieName}=`)) 3062 ?.slice(cookieName.length + 1); 3063 3064 document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${window.data_layer.site.cookie_domain}`; 3065 3066 return ref ? decodeURIComponent(ref) : undefined; 3067} 3068function getRefFromCookie() { 3069 const cookieName = 'tracking_block'; 3070 3071 const ref = document.cookie 3072 .split('; ') 3073 .find(row => row.startsWith(`${cookieName}=`)) 3074 ?.split('=')[1]; 3075 3076 // Remove the cookie 3077 document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${window.data_layer.site.cookie_domain}`; 3078 3079 return ref; 3080} 3081 3082function getOmnitureTrackingFromCookie(key, preExistingValue) { 3083 var ref = $.cookie('o-' + key); 3084 if(typeof(ref) === 'undefined') { 3085 ref = preExistingValue 3086 } else { 3087 ref = decodeURIComponent(ref); 3088 $.removeCookie('o-' + key, { 3089 path: '/', 3090 domain: window.data_layer.site.cookie_domain, 3091 }); 3092 } 3093 return ref; 3094} 3095 3096function getValidatedAPList() { 3097 3098 var validList = [1100, 1101, 1002, 1006, 1010, 1014, 1018, 1022, 1200, 1202, 1205, 1300, 1602, 1605, 1608, 1612, 1616, 1500, 1503, 1507, 1509, 1512, 1402, 1406, 1409, 1412, 1416, 14331, 14333, 14335, 14336, 14339, 14342, 14344, 14345, 14346, 14350, 14351, 14353, 14359, 14366, 14370, 14371, 14377, 14388, 14394, 14396, 14399, 14407, 14221, 14423, 15679, 15681, 15682, 15683, 15684, 15686, 15687, 15688, 15975]; 3099 3100 var data = getAudienceProjectTargetingData(); 3101 if (!data || !data.ap_x) { 3102 return ''; 3103 } 3104 3105 validData = []; 3106 $.each(data.ap_x, function(i, td) { 3107 if ($.inArray(parseInt(td, 10), validList) !== -1) { 3108 validData.push(td); 3109 } 3110 }); 3111 3112 return validData.join(','); 3113} 3114 3115path = document.location.href.split("/"); 3116 3117var qs = new URLSearchParams(window.location.search); 3118 3119var prop30 = qs.get('lp'); 3120var prop43 = qs.get('ref'); 3121var pType="Newsquest\Modules\ContactUsModule" 3122 3123if (pType === 'BlockArticleModule' || pType === 'NationalNewsModule' || pType === 'BlockWhatsOnModule') { 3124 pType = 'ArticleModule'; 3125} 3126 3127for(x=4; x<7; x++) 3128{ 3129 if (typeof path[x] == 'undefined') 3130 { 3131 path[x] = ''; 3132 } 3133 if(path[x] == "" || (pType == "ArticleModule" && path[x].match(/[0-9]+\./)) || (path[x].indexOf('?') > -1)) 3134 { 3135 path[x] = path[x-1]; 3136 } 3137 else 3138 { 3139 path[x] = path[x-1] + "/" + path[x]; 3140 } 3141 path[x] = path[x].replace(/\/undefined/g,""); 3142} 3143pathN= unescape(document.location.pathname.toString()); 3144matches = pathN.match(/(\w+)\.(in|near|compare)\.([\,a-zA-Z0-9\ _-]+)[\/]?$/); 3145detailMatches = pathN.match(/(\w+)\.detail\.(.*)$/); 3146if (detailMatches !== null && detailMatches.length > 1) 3147{ 3148 matches = detailMatches; 3149} 3150 3151if (matches !== null && matches.length > 1) 3152{ 3153 var subfolder = ''; 3154 path[3] = 'li'; 3155 path[4] = 'li/'+subfolder; 3156 path[5] = 'li/'+subfolder+'/'+matches[1]; 3157 path[6] = 'li/'+subfolder+'/'+matches[1]; 3158} 3159if (pathN === '/') 3160{ 3161 path[3] = 'homepage'; 3162 path[4] = 'homepage'; 3163 path[5] = 'homepage'; 3164 path[6] = 'homepage'; 3165} 3166 3167 3168/* You may give each page an identifying name, server, and channel on 3169the next lines. */ 3170s.pageName="(www) "+getOmniturePath(); 3171s.pageName = s.pageName.toLowerCase(); 3172s.server="martini"; 3173s.channel=""; 3174s.pageType=""; 3175s.prop1= qs.get('search'); 3176s.prop2=""; 3177s.prop3=document.title; 3178s.prop4=""; 3179s.prop5="Newsquest\Modules\ContactUsModule"; /* get from Martini */ 3180s.prop6=path[3].toLowerCase(); 3181s.prop7=path[4].toLowerCase(); 3182s.prop8=path[5].toLowerCase(); 3183s.prop9=path[6].toLowerCase(); 3184s.prop10=""; 3185 3186s.prop16=path[2].toLowerCase(); 3187s.prop17="Worcester"; 3188s.prop18="Martini"; 3189s.prop19="1"; 3190s.prop20 = s.getPreviousValue(s.pageName, 'gpv_pn'); 3191s.prop42 = ""; 3192s.prop53 = 'standard'; 3193s.prop54 = ''; 3194s.prop55 = ''; 3195s.prop56 = ""; 3196s.prop57 = ($('[data-name="Feature Article Block A"]').length > 0) ? 'Enabled' : 'Disabled'; 3197s.prop58 = document.querySelector('[data-name="Feature Article Block B"]')?.dataset.variant; 3198s.prop59 = getRefFromCookie(); 3199s.prop60 = getPositionFromCookie(); 3200s.prop73 = document.cookie.split('; ').find(row => row.startsWith('adtiming='))?.split('=')[1] || null; 3201 3202var eVar67 = []; 3203 3204if ($.cookie('consentUUID')) { 3205 eVar67.push('yes'); 3206} else { 3207 eVar67.push('no'); 3208} 3209if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { 3210 eVar67.push('yes'); 3211} else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { 3212 eVar67.push('no'); 3213} else { 3214 eVar67.push('none'); 3215} 3216 3217if ($.cookie('_sp_legitimate_interests') === 'true') { 3218 eVar67.push('yes'); 3219} else if ($.cookie('_sp_legitimate_interests') === 'false') { 3220 eVar67.push('no'); 3221} else { 3222 eVar67.push('none'); 3223} 3224 3225//if ($.cookie('euconsent')) { 3226// eVar67.push($.cookie('euconsent')); 3227//} else { 3228// eVar67.push('none'); 3229//} 3230 3231s.eVar67 = eVar67.join(','); 3232// console.log('ADB: setting eVar67 to %s', eVar67.join(',')); 3233 3234if ($.cookie('prev-tcf-v2')) { 3235 // console.log('ADB: Setting eVar68 to ', $.cookie('prev-tcf-v2')); 3236 s.eVar68 = $.cookie('prev-tcf-v2'); 3237} 3238 3239if (typeof iabNames !== 'undefined') { 3240 s.prop29 = iabNames.join(','); 3241} else if (typeof iabIds !== 'undefined') { 3242 s.prop29 = iabIds.join(','); 3243} 3244 3245if (s.prop20 && s.prop20 !== 'no value') { 3246 s.prop21 = s.getPercentPageViewed(); 3247} else { 3248 s.prop21 = ''; 3249} 3250 3251if (typeof __siren !== 'undefined') { 3252 s.eVar27 = __siren; 3253} 3254 3255s.prop22 = s.getDaysSinceLastVisit('s_lv'); 3256 3257 3258s.prop43=getOmnitureTrackingFromCookie('ref', prop43); 3259s.prop25 = '' 3260 3261s.prop27 = ''; 3262 3263s.prop30 = getOmnitureTrackingFromCookie('prop30', prop30); 3264s.linkInternalFilters="javascript:,worcesternews.co.uk,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk," 3265s.eVar61=(new Date()).toLocaleDateString("en-GB"); 3266/* s.eVar62=(new Date()).toLocaleDateString("en-GB"); */ 3267 3268 3269 3270 3271 3272 3273/* Article-site-cloning data */ 3274s.eVar90 = window.data_layer.article.parent_originating_site_id; 3275s.eVar91 = window.data_layer.article.originating_article_id; 3276s.eVar92 = window.data_layer.article.is_original_to_site; 3277s.eVar95 = window.data_layer.site.using_piano_id; 3278s.eVar106 = ''; 3279
3280s.eVar109 = ''; 3281 3282/* Uber block article counts */ 3283s.eVar93 = window.data_layer.page.top_stories_article_count + ':' + window.data_layer.page.interstitial_article_count + ':' + window.data_layer.page.news_stories_article_count; 3284 3285/* Conversion Variables */ 3286s.campaign="" 3287s.state="" 3288s.zip="" 3289s.events="" 3290s.products="" 3291s.purchaseID="" 3292s.eVar14="" 3293try { 3294 s.list3=getValidatedAPList(); 3295} catch (e) { 3296 // do nothing 3297} 3298 3299 3300 3301 3302// Initial fotorama tracking. 3303var moduleType = null; 3304if (s.prop5 === 'ArticleModule' || s.prop5 == 'PropertyModuleReplacement' || s.prop5 === 'BlockArticleModule') { 3305 moduleType = 'article'; 3306} else if (s.prop5 === 'PictureGalleryModule') { 3307 moduleType = 'gallery'; 3308} 3309 3310if ($('#comments-in-page').length === 1) { 3311 moduleType = 'comments'; 3312} 3313 3314if (moduleType === 'article' || moduleType === 'gallery' || moduleType === 'comments') { 3315 var imagePath = ''; 3316 3317 if ($('.fotorama').length > 0) { 3318 // Get the first Fotorama image. 3319 try { 3320 var el = $('.fotorama').data('fotorama').data[0].html; 3321 var url = $(el).find('div').css('background-image'); 3322 imagePath = url.replace('url(','').replace(')','').replace(/\"/gi, ""); 3323 } catch (e) { 3324 } 3325 } else { 3326 // If there's just one image (i.e. it's not a gallery), find its path. 3327 var imagePathSingle = $('#mainImage').attr('src'); 3328 if (typeof imagePathSingle !== 'undefined') { 3329 imagePath = imagePathSingle.split('.')[0] + '/'; 3330 } 3331 } 3332 var imageParts = imagePath.split('/'); 3333 if (imageParts.length > 1) { 3334 s.eVar37 = imageParts[imageParts.length - 2]; 3335 s.prop37 = imageParts[imageParts.length - 2]; 3336 s.events = s.apl(s.events, 'event7', ',', 2); 3337 } 3338 s.eVar36 = moduleType; 3339 s.prop36 = moduleType; 3340} 3341 3342 3343 3344// Education pages. 3345if (s.prop5 === 'ResponsiveEducationModule') { 3346 // School profile page. 3347 if ($('#eduOverview').length > 0) { 3348 s.eVar40 = $('#eduOverview').data('school-status'); 3349 s.prop40 = s.eVar40; 3350 s.prop41 = 'edu-' + $('#eduOverview').data('school-urn'); 3351 s.prop46 = $('#town').text(); 3352 } 3353 3354 // Comparison page. 3355 if ($('#eduComparisonTable').length > 0) { 3356 s.list1 = ''; 3357 } 3358 3359 // Results page. 3360 if ($('.school-results').length > 0) { 3361 s.list1 = ''; 3362 3363 // Track the search criteria. 3364 s.prop44 = ''; 3365 s.prop45 = "".toLowerCase(); 3366 s.prop46 = "".toLowerCase(); 3367 s.prop49 = ''; 3368 s.prop50 = ''; 3369 s.prop51 = ''; 3370 s.eVar2 = s.prop50; 3371 3372 var newSearch = false; 3373 if (newSearch) { 3374 s.events = s.apl(s.events, 'event17', ',', 1); 3375 } 3376 } 3377} 3378 3379// Notices Module 3380if (s.prop5 === 'NewsquestModulesNoticesModule') { 3381 // Notices Find page. 3382 if (s.pageName.includes('notices/find')) { 3383 s.pageName = '(www) /notices/find/'; 3384 s.eVar50 = ''; 3385 const noticesURL = new URL(window.location.href); 3386 const noticesParams = new URLSearchParams(noticesURL.search); 3387 3388 s.eVar1 = noticesParams.has('keyword') ? noticesParams.get('keyword') : 'None'; 3389 s.eVar51 = noticesParams.has('sort') ? noticesParams.get('sprt') : 'best'; 3390 s.eVar52 = noticesParams.has('p') ? (parseInt(noticesParams.get('p'), 10) + 1) : 1; 3391 s.eVar53 = noticesParams.has('type') ? noticesParams.get('type') : 'All'; 3392 s.eVar54 = noticesParams.has('nearby') ? noticesParams.get('nearby') : 'no'; 3393 s.eVar55 = noticesParams.has('daterange') ? noticesParams.get('daterange') : 'last-month'; 3394 3395 if (noticesParams.has('sort')) { 3396 switch (noticesParams.get('sort')) { 3397 case 'date_asc': 3398 s.eVar51 = 'oldest'; 3399 break; 3400 case 'date_desc': 3401 s.eVar51 = 'newest'; 3402 break; 3403 case 'best_match': 3404 s.eVar51 = 'best'; 3405 break; 3406 default: 3407 s.eVar51 = noticesParams.get('sort'); 3408 break; 3409 } 3410 } 3411 3412 // Concatenate all search params into eVar44 3413 if (noticesParams.size > 0) { 3414 const searchParams = new URL(window.location.href).searchParams; 3415 s.eVar44 = '';
3416 searchParams.forEach((value, key) => { 3417 s.eVar44 += `${key}=${value},`; 3418 }); 3419 } else { 3420 s.eVar44 = ''; 3421 } 3422 3423 // Adobe Search Event triggering 3424 const setNoticePaginationClicked = (value) => { 3425 localStorage.setItem("isNoticePaginationClicked", value); 3426 }; 3427 3428 const noticeSearchInput = document.getElementById("notices-search"); 3429 const noticeSearchBtn = document.getElementById("notice-search-find"); 3430 const noticePaginationBtns = document.querySelectorAll('.notice-find__pagination .pagination-btn'); 3431 const noticePaginationBtnPrev = document.querySelector('.pagination-btn-previous svg'); 3432 const noticePaginationBtnNext = document.querySelector('.pagination-btn-next svg'); 3433 3434 noticeSearchInput?.addEventListener('change', () => setNoticePaginationClicked('false')); 3435 noticeSearchBtn?.addEventListener('click', () => setNoticePaginationClicked('false')); 3436 3437 noticePaginationBtns.forEach(btn => { 3438 btn.addEventListener('click', () => setNoticePaginationClicked('true')); 3439 }); 3440 3441 noticePaginationBtnPrev?.addEventListener('click', () => setNoticePaginationClicked('true')); 3442 noticePaginationBtnNext?.addEventListener('click', () => setNoticePaginationClicked('true')); 3443 3444 if (localStorage.getItem("isNoticePaginationClicked") === 'false') { 3445 s.events = s.apl(s.events, 'event1', ',', 1); 3446 } 3447 } 3448 3449 if (/notices\/funeral-directors\/(\d+)\.([a-zA-Z0-9-?]+)?/.test(s.pageName)) { 3450 s.pageName = '(www) /notices/funeral-director/'; 3451 s.eVar41 = ''; 3452 } 3453} 3454 3455if (s.prop5 === 'NewsquestModulesNoticeModule') { 3456 s.eVar41 = ''; 3457 const type = window.announcement_data?.details?.type || ''; 3458 const subCategory = window.announcement_data?.details?.sub_category || ''; 3459 s.eVar40 = type !== 'Tribute' ? type : `${type} - ${subCategory}`; 3460 s.eVar42 = window.announcement_data?.details?.id || ''; 3461 s.eVar107 = ''; 3462 s.eVar119 = ''; 3463 s.eVar120 = ''; 3464 s.eVar2 = "(www) /notice/"; 3465} 3466 3467//New Property module 3468if (s.prop5 === 'ResponsivePropertyModule') { 3469 /* 3470 Use prop42 for single and list pages, for list pages use hyphen separate lists of id's 3471 */ 3472 3473 3474 //Property's all over the place (homepage, searches etc - HOM-133 3475 3476 //Property Detail - HOM-131, HOM-134, HOM-130 3477 3478 //Contact us submissions - HOM-137 3479 if($('#propertyModule.agent-details').length > 0) { 3480 //Add a click handler for a.contact-detail 3481 } 3482 3483 3484} 3485 3486// is their a video tag on the page? 3487if ($('.exco-embed').length > 0) { 3488 console.log('VID: setting tracking for event50'); 3489 s.events = s.apl(s.events, 'event50', ',', 1); 3490} 3491 3492var foundAutoPlayVid = false; 3493$('.jw-outer').each(function (a, domEle) { 3494 if ($(this).data('multimedia-block') === 'no' && !foundAutoPlayVid) { 3495 console.log('VID: setting tracking for event51'); 3496 s.events = s.apl(s.events, 'event51', ',', 1); 3497 foundAutoPlayVid = true; 3498 } 3499}); 3500 3501 3502 3503 3504 3505 3506 3507s.eVar66 = 'Ad-Full'; 3508s.eVar114 = ''; 3509 3510 3511 3512 // var eVar65Copy = s.getValOnce(s.eVar65, "ev65", 0); 3513 // if (eVar65Copy !== '' && s.prop20.indexOf("/my/subscription/activate/") > -1) { 3514 // s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event. 3515 // s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event. 3516 // s.products = "Subscription : Metered Access;" + eVar65Copy + ";1;"; 3517 // s.purchaseID = ""; 3518 // } 3519 3520 3521if(qs.get('action') === 'success' && (s.prop5 === 'ArticleModule' || s.prop5 === 'BMDModule' || s.prop5 === 'BlockArticleModule')) { 3522 s.events=s.apl(s.events,'event9',',',2) 3523} 3524/* Hierarchy Variables */ 3525s.hier1="newsquest," + "Worcester" + ",www.worcesternews.co.uk," + path[6].replace(/\//,","); 3526 3527if (typeof MartiniFotorama !== 'undefined') { 3528 MartiniFotorama.loadOmniture(s); 3529} 3530s.prop39 = "0"; 3531 3532 3533 3534// Tracking usage of Bytecast audio embeds in articles. 3535s.eVar82 = 'no'; 3536s.eVar83 = ''; 3537 3538 console.log('ADB: starting'); 3539 console.log('Google Bot Browser: ', window.isRobot.googleBot()); //TODO Remove this log after QA 3540 3541// Tracking of Commenting Registration FLow 3542if (s.prop5 !== 'BlockArticleModule') { 3543 const storedAdobeDimensions = sessionStorage.getItem('nq_adobe_tracking_article_dimensions'); 3544 if (storedAdobeDimensions) { 3545 const storedAdobeDimensionObj = JSON.parse(storedAdobeDimensions); 3546 s.eVar10 = storedAdobeDimensionObj.eVar10; 3547 s.eVar15 = storedAdobeDimensionObj.eVar15; 3548 s.eVar22 = storedAdobeDimensionObj.eVar22; 3549 s.eVar23 = storedAdobeDimensionObj.eVar23; 3550 s.eVar24 = storedAdobeDimensionObj.eVar24; 3551 s.eVar25 = storedAdobeDimensionObj.eVar25; 3552 s.eVar28 = storedAdobeDimensionObj.eVar28; 3553 s.eVar60 = storedAdobeDimensionObj.eVar60; 3554 s.eVar104 = storedAdobeDimensionObj.eVar104; 3555 s.eVar106 = storedAdobeDimensionObj.eVar106; 3556 s.eVar107 = storedAdobeDimensionObj.eVar107; 3557 s.eVar108 = storedAdobeDimensionObj.eVar108; 3558 s.prop63 = storedAdobeDimensionObj.prop63; 3559 } 3560} 3561 3562if (window.location.href.includes("/user/create-account/commenting/")) { 3563 s.eVar2 = '(www) /user/create-account/commenting/'; 3564} 3565 3566/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/ 3567if (qs.get('callback') !== 'in' && !window.isRobot.googleBot()) { 3568 var s_code=s.t(); 3569 var backupAdobe = s; 3570 3571 if(s_code)document.write(s_code) 3572} 3573 3574// Storing the visiting dimensions 3575if (s.eVar10 || s.eVar22 || s.eVar23 || s.eVar24) { 3576 const adobeTrackingVisitingDimensions = { 3577 eVar10: s.eVar10, 3578 eVar22: s.eVar22, 3579 eVar23: s.eVar23, 3580 eVar24: s.eVar24, 3581 } 3582 sessionStorage.setItem('nq_adobe_tracking_visiting_dimensions', JSON.stringify(adobeTrackingVisitingDimensions)); 3583} 3584 3585//--></script>
3585 3586<!-- End SiteCatalyst code version: H.19.3. --> 3587 3588 3589 3590 3591
3592<script> 3593 if ('' !== '') { 3594 setTimeout(function() { 3595 data_layer_helper.loadScript( 3596 "/resources/responsive-static/build/mds-next/js/.js?cb=vjoPdzgg", 3597 true, 3598 null, 3599 "module" 3600 ) 3601 }, 500); 3602 } 3603</script>
3603 3604 3605 3606</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.