NBC Sports runs two anti ad-blockers. One is just a single line of JavaScript that reports whether it was blocked or not (I just had to whitelist: @@||stream.nbcsports.com/assets/page/general/ads.js). The other one is part of the player div and I'm having trouble blocking it. I'm pretty sure this is the culprit:
<div id="nbc-content">
--
| <!-- Start Partner Content -->
| <script type="text/javascript" src="/assets/page/scripts/libs.js?v=1502468130856"></script>
| <script type="text/javascript" src="/assets/page/scripts/master.js?v=1510599156819"></script>
| <script type="text/javascript" src="/assets/page/static-js/providers-master.js?v=1510772590461"></script>
| <script type="text/javascript">
|
| var showModules = true;
| if (!navigator.platform \|\| !navigator.platform.match(/win/i)) {
| showModules = false;
| }
|
|
| // Module settings for this page
| var pageModulesConfig = {
| "livePolling": true,
| "page": {
| "visibility": {
| "iframe": showModules,
| "stats": showModules
| }
| },
| "stats": {
| "remote": true,
| "endpoint": {
| "uri": "/data/stats_nfl.json",
| "format": "json",
| "pollRate": 60000
| }
| }
| };
|
| // Set up PID
| var qString = secondthought.UrlHelper.getQueryString(location.search);
| var pid = 38022;
|
| if (qString.pid && (typeof parseInt(qString.pid) == 'number') && (parseInt(qString.pid) % 1 == 0)) {
| pid = qString.pid;
| }
|
|
| // Set up Flash use
| var useFlash = false;
|
| if (navigator.userAgent.match(/(iPhone\|iP[ao]d\|Android\|Windows Phone)/i) ) {
| useFlash = false;
| }
|
| if (qString.html5 === "1" \|\| qString.html === "1") {
| useFlash = false;
| } else if (qString.html5 === "0" \|\| qString.html === "0") {
| useFlash = true;
| }
|
|
| var resource = '<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>nbc_linear</title><item><title>Watch Green Bay Packers-Pittsburgh Steelers on Sunday Night Football</title><guid>' + pid + '</guid></item></channel></rss>';
|
|
| var requestorID = 'nbcentertainment';
|
|
| // Set up flash vars
| var dartRefreshInterval = 180000;
| var defaultFlashVars = {
|
| APResource: encodeURI(resource),
|
| autoLoad: false,
| pageVersion: 'SP-nws-00102',
| assetBase: '/assets/page/swf/assets',
| dartRefreshInterval: dartRefreshInterval,
| pid: pid,
| token: 1234,
| reserveMaxBitrate: 1,
| fsbCompanionAlign: '',
| fsBrandStretchMid: 0,
| maxLiveDelay: 45,
| maxLiveCatchup: 0,
|
| initialBuffer: 2,
|
|
| 'hlsjs.liveSyncDurationCount': 5,
|
|
| 'pip': '0',
|
| 'poster': '',
|
| goLiveLabel: 'Go Live',
| liveLabel: 'Live',
| shareLabelTitle: 'Share This Video',
| shareSubTitle1: 'Post this link on one of these sites',
| shareSubTitle2: 'Or copy the URI to your clipboard',
| adPlayingLabel: 'Ad Playing',
| useHLSv4Url: 1,
| hlsToken: '/../token/nbcsportswildcard.dat'
| };
| if (window.globalFlashVars) {
| jQuery.extend(true, defaultFlashVars, window.globalFlashVars);
| }
| var flashVars = jQuery.extend(true, defaultFlashVars, qString);
|
| var referrer = qString.p ? qString.p : null;
| if (referrer) {
| flashVars.referrer = '_' + referrer;
| } else {
| flashVars.referrer = '';
| }
|
| // Player setup
| var swfUrl = '/assets/page/swf/NBCSportsPlayer-hls.swf?v=1497900427010';
|
| if (qString.player && !window.location.hostname.match(/^stream\./)) {
| var matches = qString.player.match(/[^\/]+\.swf$/);
| if (matches) {
| swfUrl = '/assets/page/swf/' + matches[0];
| }
| }
| var xiSwfUrlStr = '/assets/page/swf/expressInstall.swf';
| var NBC_player = new secondthoughtnbc.Player({
| swfUrl: swfUrl,
| flashvars: flashVars,
| useNativeFullScreen: false,
| xiSwfUrlStr: xiSwfUrlStr,
| forceLive: true,
| useFlash: useFlash,
|
| forceLinearPlayer: false
| });
|
|
| // Ad module setup
| var NBC_AdModule = new secondthoughtnbc.AdModuleGeneric({
| player: NBC_player,
| networkId: '2620',
| adUnitLevel1: adTags.level1,
| adUnitLevel2: adTags.level2,
| adUnitLevel3: adTags.level3,
| linearPlayer: false,
| checkViewability: true,
| additionalTargeting: adTags.additionalTargeting,
| dartRefreshInterval: dartRefreshInterval,
| noPrerollDetectionTimeout: 1000,
| referrer: referrer,
|
|
| hasPencilUnit: true,
| forceCameraIndex: 1
| });
|
|
| var config = qString.configUrl ? qString.configUrl : '/data/event_config_#PID#.json';
|
| config = config.replace('#PID#', pid);
|
|
|
| // Access enabler setup
| var NBC_AccessEnabler = new secondthoughtnbc.AccessEnabler({
| AccessEnablerLocation: 'http://entitlement.auth.adobe.com/entitlement/js/AccessEnabler.js',
| whiteListProvidedByProviderInfo: true,
| useFlash: useFlash,
| authenticatedMode: true,
| providerDefaults: {
| selectPassword: 'Select Your TV Provider',
| selectNewAccount: 'Select Your TV Provider'
| },
| uiConfig: {
| settings: {
| entity: 'NBC Sports',
| getStartedLink: true
| },
| title: 'Welcome to #ENTITY#',
| subtitle: 'Sign-In with the Username or Email address and Password you use with your cable, satellite, or telco TV provider. There is no additional charge.',
| getStarted: 'CONTINUE>>',
| faqUrl: 'http://www.nbcsports.com/live-faq'
| },
| xiSwfUrlStr: xiSwfUrlStr,
| tracking: {
| trackingFunction: trackAuth
| },
|
|
|
| checkConfig: config,
|
| requestorID: requestorID,
|
|
| resource: resource,
|
|
|
|
| providerInfo: providerInfoExternal,
| useTempPass: true,
| tempPassInfo: tempPassInfoExternal
| });
|
|
| var serviceFormat = qString.serviceFormat ? qString.serviceFormat : 'json';
| var configFormat = qString.configFormat ? qString.configFormat : serviceFormat;
|
| // Page details setup
| var NBC_page = new secondthoughtnbc.Page({
| pid: pid,
| livePolling: true,
| endpointsMeta: {
| defaultFormat: serviceFormat,
| faultRetryInterval: '00:00:05',
| cache: false
| },
| dataSources: [
| {name: 'config', updateInterval: '00:00:-01', url: config, format: configFormat},
| {name: 'dma', format: 'jsonp'}
| ],
| player: NBC_player,
|
| adModule: NBC_AdModule,
|
| initPlayer: true,
| initAdModule: true,
| autoplayVod: true,
| allowChallenge: true,
| anvatoDomain: 'tkx-cable-prod.nbc.anvato.net',
| anvatoAck: 'nbcu_nbcsn_nbcsn_web_prod_54ef1d22d97fc806627b6d55fafa79e3e4ec0f30',
|
|
|
| initAccessEnabler: true,
| accessEnabler: NBC_AccessEnabler,
|
|
|
| foilAdBlockers: true,
|
| foilAdBlockersMessage: '<h3>FUMBLE!</h3>PLEASE TURN OFF YOUR AD BLOCKER<br />This video is unavailable if an ad blocker is running. Please disable and reload the page to start the video.',
|
|
| modulesConfig: pageModulesConfig
| });
| NBC_page.initialise(window);
| secondthought.UrlHelper.initNewWindowLinks();
| </script>
It runs fine for a while, but I inevitably get this:
http://stream.nbcsports.com/ Chrome Adblock & Adblock Plus (I've tried both separately) Tampermonkey Filters: EasyList, AdBlock custom filters, Adblock Warning Removal list, Antisocial filter list, Cryptocurrency (Bitcoin) Mining Protection List, EasyPrivacy, Fanboy's Annoyances, Malware protection
NBC Sports runs two anti ad-blockers. One is just a single line of JavaScript that reports whether it was blocked or not (I just had to whitelist:
@@||stream.nbcsports.com/assets/page/general/ads.js
). The other one is part of the player div and I'm having trouble blocking it. I'm pretty sure this is the culprit:It runs fine for a while, but I inevitably get this: