PageSourceSearch

https://secure.backblaze.com/bzapp_web_assets/public/scripts/page-id.js

js backblaze.com collected 2026-10-01 06:59:34 UTC 13,257 bytes, 424 lines download raw bytes

1/*
2 * Copyright 2019, Backblaze, Inc.  All rights reserved.
3 */
4
5(function (global) {
6  'use strict';
7
8  function PageID() {
9    this.pageIDs = {
10      '/free-trial': 'B1C-Free-Trial',
11      '/landing/': 'B1C-Free-Trial-Podcast', // Will match all podcast landing pages in the /landing directory
12      '/buy_plan': 'B1C-Purchase-License',
13      '/buy': 'B1C-Login-Buy-Page', // If a key could be found as part of another key it has to be placed below that key
14      '/business-groups-create': 'BfB-Group-Acct-Create',
15      '/business-serverbackup-create': 'Bfb-Server-Backup-Acct-Create',
16      '/business-veeam-backup-create': 'BfB-Veeam',
17      '/business-veeam-cloud-tier': 'BfB-Veeam-Cloud-Tier-Acct-Create',
18      '/business/veeam-cloud-backup-lp': 'BfB-Veeam-Cloud-Backup',
19      '/b2/sign-up': 'B2-Create-Account',
20      '/ja_JP/cloud-storage': 'B2-Create-Account-NoPref',
21      '/zh_TW/cloud-storage': 'B2-Create-Account-NoPref',
22      '/zh_CN/cloud-storage': 'B2-Create-Account-NoPref',
23      '/ko_KR/cloud-storage': 'B2-Create-Account-NoPref',
24      '/fr_FR/cloud-storage': 'B2-Create-Account-NoPref',
25      '/de_DE/cloud-storage': 'B2-Create-Account-NoPref',
26      '/es_ES/cloud-storage': 'B2-Create-Account-NoPref',
27      '/it_IT/cloud-storage': 'B2-Create-Account-NoPref',
28      '/ru_RU/cloud-storage': 'B2-Create-Account-NoPref',
29      '/pt_BR/cloud-storage': 'B2-Create-Account-NoPref',
30      '/b2/partners/': 'B2-Create-Account-Partners',
31      '/business_groups': 'BfB-Group-License-Purchase',
32      '/activate_gift': 'B1C-Activate-Gift',
33      '/r_invite': 'B1C-RaF-Accept-Invite',
34      '/catblaze': 'B1C-Catblaze',
35      '/b2/s3-create-acct/': 'B2-Create-Account-S3Compatible',
36      '/b2/solutions/datatransfer/cloud-to-cloud-create':
37        'B2-Create-Account-Flexify',
38      '/b2/cloudflare-business': 'B2-Create-Account-Cloudflare-Business',
39      '/b2/blog-cta-sign-up': 'B2-Create-Account-Blog-CTA',
40      '/b2/replication-lp': 'B1B-Create-Acct-Replication-LP',
41      '/b2/solutions/ransomware-protection-and-recovery':
42        'B2-Create-Account-Ransomware',
43      '/b2/cloud-storage-sign-up': 'B2-Create-Account-BzAd-A',
44      '/b2/cloud-storage-sign-up-1': 'B2-Create-Account-BzAd-B',
45      '/business-backup-cb1': 'BfB-Group-Acct-Create-BusinessHero',
46      '/business-computer-backup-cb1': 'BfB-Group-Acct-Create-ComputerHero',
47      '/b2/multi-cloud': 'B2-MULTI-CLOUD',
48      '/blaze-it-a': 'B2-Create-Account-BlazeIt-A',
49      '/blaze-it-b': 'B2-Create-Account-BlazeIt-B',
50      '/cloud-backup': 'B1C-Free-Trial',
51      '/cloud-backup-1': 'B1C-Free-Trial',
52      '/crashplan-replacement': 'B1B-Group-Acct-Create-Crashplan-Replacement',
53      '/b2/replication': 'B2-Create-Account-Replication',
54      '/business/partner-veritas': 'B2-Create-Account-Veritas',
55      '/business-computer-backup-pua': 'B1B-Group-Acct-Create-General-PUA',
56      '/partner-msp360-lp': 'BfB-MSP360-Acct-Create',
57      '/b2/cloud-storage': 'B2-Create-Account-Hero',
58      '/b2-backup-and-archive': 'b2-backup-and-archive',
59      '/b2-object-storage': 'b2-object-storage',
60      '/b2-cloud-storage': 'b2-cloud-storage',
61      '/b2-content-delivery': 'b2-content-delivery',
62      '/b2-c2c-migration-general': 'b2-c2c-migration-general',
63      '/b2-c2c-migration-aws': 'b2-c2c-migration-aws',
64      '/b2-c2c-migration-azure': 'b2-c2c-migration-azure',
65      '/b2-c2c-migration-gcp': 'b2-c2c-migration-gcp',
66      '/b2-fastly': 'b2-fastly',
67      '/b2-veritas': 'B2-Create-Account-Veritas-PUA',
68      '/partner/technology/catalogic-dpx': 'B2-Acct-Create-Catalogic-PUA',
69    };
70  }
71
72  PageID.prototype.getPageID = function (pathname) {
73    var pageIDKeys = Object.keys(this.pageIDs);
74    var pageID = '';
75
76    for (var i = 0; i < pageIDKeys.length; i++) {
77      var key = pageIDKeys[i];
78      if (pathname.search(key) === 0) {
79        pageID = this.pageIDs[key];
80        break;
81      }
82    }
83
84    return pageID !== '' ? this.extendIfNecessary(pageID) : pageID;
85  };
86
87  PageID.prototype.extendIfNecessary = function (pageID) {
88    switch (pageID) {
89      case 'B1C-Login-Buy-Page': {
90        var newRadioOption = document.querySelector('input[value=new]');
91        if (newRadioOption) {
92          return pageID + (newRadioOption.checked ? '.New' : '.Existing');
93        } else {
94          break;
95        }
96      }
97      case 'Bfb-Server-Backup-Acct-Create': {
98        if (window.selectedServerOptionID) {
99          return (
100            pageID +
101            (window.selectedServerOptionID === 'single-server'
102              ? '.Single'
103              : '.Multi')
104          );
105        } else {
106          break;
107        }
108      }
109
110      case 'BfB-Veeam-Cloud-Backup':
111        switch (window.b2Referrer) {
112          case 'veeam-cloud-backup-contactSales': {
113            return 'BfB-Contact-Sales-Veeam-Cloud-LP';
114          }
115          case 'veeam-cloud-backup-startNow': {
116            return 'BfB-Create-Acct-Veeam-Cloud-LP';
117          }
118          default: {
119            return 'BfB-Unknown';
120          }
121        }
122
123      case 'B2-Create-Account': {
124        switch (window.b2Referrer) {
125          case 'backup': {
126            return pageID + '-Backup';
127          }
128          case 'lto': {
129            return pageID + '-LTO';
130          }
131          case 'cdn': {
132            return pageID + '-CDN';
133          }
134          case 'compute': {
135            return pageID + '-Compute';
136          }
137          case 'datatransfer': {
138            return pageID + '-DataTransfer';
139          }
140          case 'media': {
141            return pageID + '-MediaEntertainment';
142          }
143          case 'developer': {
144            return pageID + '-Developer';
145          }
146          case 'nas': {
147            return 'BfB-NAS-Backup-Acct-Create';
148          }
149          case 'develop': {
150            return pageID + '-Develop';
151          }
152          case 'ransomware': {
153            return 'B2-Create-Account-Ransomware';
154          }
155          case 'blaze-it-a': {
156            return pageID + '-BlazeIt-A';
157          }
158          case 'blaze-it-b': {
159            return pageID + '-BlazeIt-B';
160          }
161          case 'cloud-storage-sign-up': {
162            return pageID + '-BzAd-A';
163          }
164          case 'cloud-storage-sign-up-1': {
165            return pageID + '-BzAd-B';
166          }
167          case 'cloud-replication': {
168            return pageID + '-Replication';
169          }
170          default: {
171            return pageID + '-NoPref';
172          }
173        }
174      }
175
176      case 'BfB-Group-Acct-Create': {
177        // TODO: Update hardcoded pageIDs below once BfB is changed to B1B
178        var bzReferrer = window.bzReferrer || getURLParameter('referrer');
179        switch (bzReferrer) {
180          case 'business': {
181            return pageID + '-Business';
182          }
183          case 'computer': {
184            return pageID + '-Computer';
185          }
186          case 'pricing': {
187            return 'B1B-Group-Acct-Create-Pricing';
188          }
189          case 'comparison': {
190            return 'B1B-Group-Acct-Create-Comparison';
191          }
192          default: {
193            return 'B1B-Group-Acct-Create-NoRef';
194          }
195        }
196      }
197
198      case 'B2-Create-Account-Flexify': {
199        if (window.dataToTransfer) {
200          return (
201            pageID +
202            (window.dataToTransfer === 'under-50-tb' ? 'Under50TB' : 'Over50TB')
203          );
204        } else {
205          break;
206        }
207      }
208
209      case 'BfB-Veeam': {
210        var bzReferrer =
211          window.bzReferrer || getURLParameter('referrer') || 'noref';
212        if (
213          bzReferrer &&
214          bzReferrer === 'veeam-partner' &&
215          window.formCloudtierCreate
216        ) {
217          return 'B2-Create-Account-Veeam-Partner';
218        } else if (
219          bzReferrer &&
220          bzReferrer === 'veeamon-theatervideo' &&
221          window.formCloudtierCreate
222        ) {
223          return 'B2-Create-Account-VeeamOn-2021-Video';
224        } else if (window.formCloudtierCreate) {
225          return pageID + '-Cloud-Tier-Acct-Create';
226        } else if (window.formCommunityCreate) {
227          return pageID + '-Backup-Acct-Create';
228        } else {
229          break;
230        }
231      }
232
233      case 'BfB-MSP360-Acct-Create': {
234        if (window.selectedServerOptionID) {
235          return (
236            pageID +
237            (window.selectedServerOptionID === 'single-server'
238              ? '-Single-PUA'
239              : '-Multiple-PUA')
240          );
241        } else {
242          break;
243        }
244      }
245
246      case 'B2-MULTI-CLOUD': {
247        if (window.selectedServerOptionID === 'multi-server') {
248          return 'B2-Create-Acct-Multicloud-LP-A';
249        } else {
250          return 'B2-Contact-Sales-Multicloud-LP-A';
251        }
252      }
253
254      case 'b2-backup-and-archive': {
255        switch (window.b2Referrer) {
256          case 'b2-backup-and-archive-contactSales': {
257            return 'B2-Contact-Sales-B2Backup-LP';
258          }
259          case 'b2-backup-and-archive-startNow': {
260            return 'B2-Create-Acct-B2Backup-LP';
261          }
262          default: {
263            return 'BfB-Unknown';
264          }
265        }
266      }
267
268      case 'b2-object-storage': {
269        switch (window.b2Referrer) {
270          case 'b2-object-storage-contactSales': {
271            return 'B2-Contact-Sales-ObjectStorage-PUA';
272          }
273          case 'b2-object-storage-startNow': {
274            return 'B2-Acct-Create-ObjectStorage-PUA';
275          }
276          default: {
277            return 'BfB-Unknown';
278          }
279        }
280      }
281
282      case 'b2-cloud-storage': {
283        switch (window.b2Referrer) {
284          case 'b2-cloud-storage-contactSales': {
285            return 'B2-Contact-Sales-CloudStorage-PUA';
286          }
287          case 'b2-cloud-storage-startNow': {
288            return 'B2-Acct-Create-CloudStorage-PUA';
289          }
290          default: {
291            return 'BfB-Unknown';
292          }
293        }
294      }
295
296      case 'b2-content-delivery': {
297        switch (window.b2Referrer) {
298          case 'b2-content-delivery-contactSales': {
299            return 'B2-Contact-Sales-ContentDelivery-PUA';
300          }
301          case 'b2-content-delivery-startNow': {
302            return 'B2-Acct-Create-ContentDelivery-PUA';
303          }
304          default: {
305            return 'BfB-Unknown';
306          }
307        }
308      }
309
310      case 'b2-fastly': {
311        switch (window.b2Referrer) {
312          case 'b2-fastly-contactSales': {
313            return 'B2-Contact-Sales-FastlyCDN-PUA';
314          }
315          case 'b2-fastly-startNow': {
316            return 'B2-Acct-Create-FastlyCDN-PUA';
317          }
318          default: {
319            return 'BfB-Unknown';
320          }
321        }
322      }
323
324      case 'b2-c2c-migration-general': {
325        switch (window.b2Referrer) {
326          case 'b2-c2c-migration-general-contactSales': {
327            return 'B2-Contact-Sales-C2CGeneral-PUA';
328          }
329          case 'b2-c2c-migration-general-startNow': {
330            return 'B2-Acct-Create-C2CGeneral-PUA';
331          }
332          default: {
333            return 'BfB-Unknown';
334          }
335        }
336      }
337
338      case 'b2-c2c-migration-aws': {
339        switch (window.b2Referrer) {
340          case 'b2-c2c-migration-aws-contactSales': {
341            return 'B2-Contact-Sales-C2CAWS-PUA';
342          }
343          case 'b2-c2c-migration-aws-startNow': {
344            return 'B2-Acct-Create-C2CAWS-PUA';
345          }
346          default: {
347            return 'BfB-Unknown';
348          }
349        }
350      }
351
352      case 'b2-c2c-migration-azure': {
353        switch (window.b2Referrer) {
354          case 'b2-c2c-migration-azure-contactSales': {
355            return 'B2-Contact-Sales-C2CAzure-PUA';
356          }
357          case 'b2-c2c-migration-azure-startNow': {
358            return 'B2-Acct-Create-C2CAzure-PUA';
359          }
360          default: {
361            return 'BfB-Unknown';
362          }
363        }
364      }
365
366      case 'b2-c2c-migration-gcp': {
367        switch (window.b2Referrer) {
368          case 'b2-c2c-migration-gcp-contactSales': {
369            return 'B2-Contact-Sales-C2CGCP-PUA';
370          }
371          case 'b2-c2c-migration-gcp-startNow': {
372            return 'B2-Acct-Create-C2CGCP-PUA';
373          }
374          default: {
375            return 'BfB-Unknown';
376          }
377        }
378      }
379
380      default: {
381        return pageID;
382      }
383    }
384
385    return pageID;
386  };
387
388  // Will only be successful if the user is authenticated
389  PageID.prototype.postToBzHubSpotProxy = function () {
390    var origin = window.location.origin;
391    var pathname = window.location.pathname;
392    var xhr = new XMLHttpRequest();
393    xhr.open(
394      'POST',
395      'https://secure.backblaze.' + origin.slice('-3') + '/api2/bz_p2hu'
396    );
397    xhr.setRequestHeader('Content-Type', 'application/json');
398    xhr.send(
399      JSON.stringify({
400        hutk: window.getCookie ? window.getCookie('hubspotutk') : '',
401        pageId: this.getPageID(pathname),
402        pageUrl: origin + pathname,
403        pageName: window.document.title,
404        redirectUrl: '',
405        sfdcCampaignId: '',
406      })
407    );
408  };
409
410  function init() {
411    try {
412      global.Bz = global.Bz || {};
413      global.Bz.PageID = new PageID();
414    } catch (err) {
415      console.log(err);
416    } finally {
417      if (!global.Bz.PageID) {
418        global.Bz.PageID = {};
419      }
420    }
421  }
422
423  init();
424})(window);

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.