@accelerated-agency/visual-editor 0.3.9 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vite.cjs +78 -14
- package/dist/vite.js +78 -14
- package/package.json +1 -1
package/dist/vite.cjs
CHANGED
|
@@ -19,7 +19,7 @@ var SCRAPER_PROXY_USERNAME = process.env.SCRAPERAPI_PROXY_USERNAME || [
|
|
|
19
19
|
SCRAPER_PROXY_USERNAME_BASE,
|
|
20
20
|
SCRAPER_PROXY_USERNAME_PARAMS
|
|
21
21
|
].filter(Boolean).join(".");
|
|
22
|
-
var SCRAPER_PROXY_PASSWORD = process.env.SCRAPERAPI_PROXY_PASSWORD || process.env.SCRAPERAPI_API_KEY
|
|
22
|
+
var SCRAPER_PROXY_PASSWORD = process.env.SCRAPERAPI_PROXY_PASSWORD || process.env.SCRAPERAPI_API_KEY;
|
|
23
23
|
var SCRAPER_API_ENDPOINT = process.env.SCRAPERAPI_ENDPOINT || "https://api.scraperapi.com/";
|
|
24
24
|
var SCRAPER_REQUEST_TLS_REJECT_UNAUTHORIZED_RAW = process.env.SCRAPERAPI_REQUEST_TLS_REJECT_UNAUTHORIZED || "false";
|
|
25
25
|
var SCRAPER_REQUEST_TLS_REJECT_UNAUTHORIZED = !["0", "false", "no"].includes(
|
|
@@ -41,7 +41,10 @@ var DEFAULT_TRACKING_MARKERS = [
|
|
|
41
41
|
"mixpanel",
|
|
42
42
|
"amplitude",
|
|
43
43
|
"fullstory",
|
|
44
|
+
"northbeam",
|
|
45
|
+
"nb-collector",
|
|
44
46
|
"/api/collect",
|
|
47
|
+
"/nb-collector",
|
|
45
48
|
'"r":"periodic"',
|
|
46
49
|
'"r": "periodic"'
|
|
47
50
|
];
|
|
@@ -110,10 +113,12 @@ function stripTrackingScriptsFromScrapedHtml(html, markers) {
|
|
|
110
113
|
}
|
|
111
114
|
return out;
|
|
112
115
|
}
|
|
116
|
+
var SCRAPER_BILLING_ERROR_RE = /exhausted the api credits|upgrade your subscription|enable overages|dashboard\.scraperapi\.com\/billing|insufficient credits|billing/i;
|
|
113
117
|
var scraperProxyClientPromise = null;
|
|
114
118
|
async function getScraperProxyClient() {
|
|
115
119
|
if (scraperProxyClientPromise) return scraperProxyClientPromise;
|
|
116
120
|
scraperProxyClientPromise = (async () => {
|
|
121
|
+
if (!SCRAPER_PROXY_PASSWORD) return null;
|
|
117
122
|
try {
|
|
118
123
|
const undici = await import('undici');
|
|
119
124
|
const proxyUrl = "http://" + encodeURIComponent(SCRAPER_PROXY_USERNAME) + ":" + encodeURIComponent(SCRAPER_PROXY_PASSWORD) + "@" + SCRAPER_PROXY_HOST + ":" + String(SCRAPER_PROXY_PORT);
|
|
@@ -1136,12 +1141,40 @@ select.pr-inp{cursor:pointer;background:#fff}
|
|
|
1136
1141
|
|
|
1137
1142
|
<!-- CDN scripts -->
|
|
1138
1143
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
|
1139
|
-
<script
|
|
1140
|
-
|
|
1141
|
-
|
|
1144
|
+
<script>
|
|
1145
|
+
window.__veLoadFallback = function(el, candidates){
|
|
1146
|
+
try{
|
|
1147
|
+
if(!el) return;
|
|
1148
|
+
var list = String(candidates || "").split("||").map(function(v){ return v.trim(); }).filter(Boolean);
|
|
1149
|
+
var idx = Number(el.getAttribute("data-fallback-idx") || "0");
|
|
1150
|
+
if(idx >= list.length) return;
|
|
1151
|
+
var next = list[idx];
|
|
1152
|
+
el.setAttribute("data-fallback-idx", String(idx + 1));
|
|
1153
|
+
el.src = next;
|
|
1154
|
+
}catch(_){}
|
|
1155
|
+
};
|
|
1156
|
+
</script>
|
|
1157
|
+
<script
|
|
1158
|
+
src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/builder.js"
|
|
1159
|
+
onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/builder.js||https://unpkg.com/vvvebjs@latest/libs/builder/builder.js')"
|
|
1160
|
+
></script>
|
|
1161
|
+
<script
|
|
1162
|
+
src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/undo.js"
|
|
1163
|
+
onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/undo.js||https://unpkg.com/vvvebjs@latest/libs/builder/undo.js')"
|
|
1164
|
+
></script>
|
|
1165
|
+
<script
|
|
1166
|
+
src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/inputs.js"
|
|
1167
|
+
onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/inputs.js||https://unpkg.com/vvvebjs@latest/libs/builder/inputs.js')"
|
|
1168
|
+
></script>
|
|
1142
1169
|
<!-- components.js defines shared colour-class arrays used by bootstrap5/widgets components -->
|
|
1143
|
-
<script
|
|
1144
|
-
|
|
1170
|
+
<script
|
|
1171
|
+
src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components.js"
|
|
1172
|
+
onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components.js||https://unpkg.com/vvvebjs@latest/libs/builder/components.js')"
|
|
1173
|
+
></script>
|
|
1174
|
+
// <script
|
|
1175
|
+
// src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js"
|
|
1176
|
+
// onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js||https://unpkg.com/vvvebjs@latest/libs/builder/components-widgets.js')"
|
|
1177
|
+
// ></script>
|
|
1145
1178
|
<script>
|
|
1146
1179
|
/* Safety stub: if components.js didn't define these, create empty arrays so
|
|
1147
1180
|
components-bootstrap5.js doesn't throw ReferenceError on load. */
|
|
@@ -1168,8 +1201,14 @@ if (window.Vvveb && window.Vvveb.Components) {
|
|
|
1168
1201
|
} catch(_) {}
|
|
1169
1202
|
}
|
|
1170
1203
|
</script>
|
|
1171
|
-
<script
|
|
1172
|
-
|
|
1204
|
+
<script
|
|
1205
|
+
src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-bootstrap4.js"
|
|
1206
|
+
onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-bootstrap4.js||https://unpkg.com/vvvebjs@latest/libs/builder/components-bootstrap4.js')"
|
|
1207
|
+
></script>
|
|
1208
|
+
<script
|
|
1209
|
+
src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js"
|
|
1210
|
+
onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js||https://unpkg.com/vvvebjs@latest/libs/builder/components-widgets.js')"
|
|
1211
|
+
></script>
|
|
1173
1212
|
|
|
1174
1213
|
<script>
|
|
1175
1214
|
'use strict';
|
|
@@ -5517,8 +5556,9 @@ function createVisualEditorMiddleware(options) {
|
|
|
5517
5556
|
);
|
|
5518
5557
|
return;
|
|
5519
5558
|
}
|
|
5520
|
-
|
|
5521
|
-
const
|
|
5559
|
+
const directFetch = (input, init = {}) => fetch(input, init);
|
|
5560
|
+
const scraperFetch = (input, init = {}) => {
|
|
5561
|
+
if (!SCRAPER_PROXY_PASSWORD) return directFetch(input, init);
|
|
5522
5562
|
if (!useScraperProxy || !scraperProxyClient) {
|
|
5523
5563
|
const scraperUrl = new URL(SCRAPER_API_ENDPOINT);
|
|
5524
5564
|
scraperUrl.searchParams.set("api_key", SCRAPER_PROXY_PASSWORD);
|
|
@@ -5530,6 +5570,29 @@ function createVisualEditorMiddleware(options) {
|
|
|
5530
5570
|
dispatcher: scraperProxyClient.dispatcher
|
|
5531
5571
|
});
|
|
5532
5572
|
};
|
|
5573
|
+
const shouldFallbackFromScraper = async (resp) => {
|
|
5574
|
+
try {
|
|
5575
|
+
if (resp.ok) return false;
|
|
5576
|
+
const text = await resp.clone().text();
|
|
5577
|
+
return SCRAPER_BILLING_ERROR_RE.test(String(text || ""));
|
|
5578
|
+
} catch (_) {
|
|
5579
|
+
return false;
|
|
5580
|
+
}
|
|
5581
|
+
};
|
|
5582
|
+
const upstreamFetch = async (input, init = {}) => {
|
|
5583
|
+
const primary = await scraperFetch(input, init);
|
|
5584
|
+
if (!await shouldFallbackFromScraper(primary)) {
|
|
5585
|
+
return primary;
|
|
5586
|
+
}
|
|
5587
|
+
try {
|
|
5588
|
+
console.warn("[conversion-proxy] ScraperAPI billing/quota detected; falling back to direct fetch", {
|
|
5589
|
+
url: input,
|
|
5590
|
+
mode: useScraperProxy ? "proxy" : "simple"
|
|
5591
|
+
});
|
|
5592
|
+
} catch (_) {
|
|
5593
|
+
}
|
|
5594
|
+
return directFetch(input, init);
|
|
5595
|
+
};
|
|
5533
5596
|
const headers = {
|
|
5534
5597
|
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36",
|
|
5535
5598
|
Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
|
|
@@ -5689,8 +5752,8 @@ window.__EDITOR_MODE__=true;
|
|
|
5689
5752
|
window.CONVERSION_DISABLE_TRACKING=true;
|
|
5690
5753
|
window.SNOWPLOW_ENABLED=false;
|
|
5691
5754
|
var TARGET_HOSTNAME=(function(){try{return new URL(TARGET_ORIGIN).hostname.toLowerCase();}catch(_){return "";}})();
|
|
5692
|
-
var TRACKING_HOST_MARKERS=["snowplow","snowplowanalytics","collector","analytics","conversion","taboola"];
|
|
5693
|
-
var TRACKING_PATH_MARKERS=["/i","/com.snowplowanalytics.snowplow/","/tp2","/track","/events","/unip"];
|
|
5755
|
+
var TRACKING_HOST_MARKERS=["snowplow","snowplowanalytics","collector","analytics","conversion","taboola","northbeam"];
|
|
5756
|
+
var TRACKING_PATH_MARKERS=["/i","/com.snowplowanalytics.snowplow/","/tp2","/track","/events","/unip","/nb-collector"];
|
|
5694
5757
|
function hasMarker(value,markers){
|
|
5695
5758
|
var text=String(value||"").toLowerCase();
|
|
5696
5759
|
for(var i=0;i<markers.length;i++){
|
|
@@ -5734,11 +5797,12 @@ function shouldBlockEditorTracking(rawUrl){
|
|
|
5734
5797
|
var isSnowplowStylePath=path==="/i"||path.indexOf("/com.snowplowanalytics.snowplow/")!==-1||path.indexOf("/tp2")!==-1;
|
|
5735
5798
|
var isTaboolaUnip=host==="trc-events.taboola.com"&&//log/d+/unip(?:/|$)/.test(path);
|
|
5736
5799
|
var isCollectApiPath=path==="/api/collect"||path.indexOf("/api/collect/")===0;
|
|
5737
|
-
|
|
5800
|
+
var isNbCollectorPath=path==="/nb-collector"||path.indexOf("/nb-collector/")===0;
|
|
5801
|
+
return isCrossOriginCollector||(looksLikeHeartbeatPayload&&isSnowplowStylePath)||isCollectApiPath||isTaboolaUnip||isNbCollectorPath;
|
|
5738
5802
|
}catch(_){
|
|
5739
5803
|
try{
|
|
5740
5804
|
var s=String(rawUrl||"").toLowerCase();
|
|
5741
|
-
return s.indexOf("snowplow")!==-1||s.indexOf("com.snowplowanalytics")!==-1||s.indexOf("collector")!==-1||s.indexOf("/api/collect")!==-1||s.indexOf("trc-events.taboola.com")!==-1;
|
|
5805
|
+
return s.indexOf("snowplow")!==-1||s.indexOf("com.snowplowanalytics")!==-1||s.indexOf("collector")!==-1||s.indexOf("/api/collect")!==-1||s.indexOf("trc-events.taboola.com")!==-1||s.indexOf("/nb-collector")!==-1||s.indexOf("northbeam")!==-1;
|
|
5742
5806
|
}catch(__){
|
|
5743
5807
|
return false;
|
|
5744
5808
|
}
|
package/dist/vite.js
CHANGED
|
@@ -11,7 +11,7 @@ var SCRAPER_PROXY_USERNAME = process.env.SCRAPERAPI_PROXY_USERNAME || [
|
|
|
11
11
|
SCRAPER_PROXY_USERNAME_BASE,
|
|
12
12
|
SCRAPER_PROXY_USERNAME_PARAMS
|
|
13
13
|
].filter(Boolean).join(".");
|
|
14
|
-
var SCRAPER_PROXY_PASSWORD = process.env.SCRAPERAPI_PROXY_PASSWORD || process.env.SCRAPERAPI_API_KEY
|
|
14
|
+
var SCRAPER_PROXY_PASSWORD = process.env.SCRAPERAPI_PROXY_PASSWORD || process.env.SCRAPERAPI_API_KEY;
|
|
15
15
|
var SCRAPER_API_ENDPOINT = process.env.SCRAPERAPI_ENDPOINT || "https://api.scraperapi.com/";
|
|
16
16
|
var SCRAPER_REQUEST_TLS_REJECT_UNAUTHORIZED_RAW = process.env.SCRAPERAPI_REQUEST_TLS_REJECT_UNAUTHORIZED || "false";
|
|
17
17
|
var SCRAPER_REQUEST_TLS_REJECT_UNAUTHORIZED = !["0", "false", "no"].includes(
|
|
@@ -33,7 +33,10 @@ var DEFAULT_TRACKING_MARKERS = [
|
|
|
33
33
|
"mixpanel",
|
|
34
34
|
"amplitude",
|
|
35
35
|
"fullstory",
|
|
36
|
+
"northbeam",
|
|
37
|
+
"nb-collector",
|
|
36
38
|
"/api/collect",
|
|
39
|
+
"/nb-collector",
|
|
37
40
|
'"r":"periodic"',
|
|
38
41
|
'"r": "periodic"'
|
|
39
42
|
];
|
|
@@ -102,10 +105,12 @@ function stripTrackingScriptsFromScrapedHtml(html, markers) {
|
|
|
102
105
|
}
|
|
103
106
|
return out;
|
|
104
107
|
}
|
|
108
|
+
var SCRAPER_BILLING_ERROR_RE = /exhausted the api credits|upgrade your subscription|enable overages|dashboard\.scraperapi\.com\/billing|insufficient credits|billing/i;
|
|
105
109
|
var scraperProxyClientPromise = null;
|
|
106
110
|
async function getScraperProxyClient() {
|
|
107
111
|
if (scraperProxyClientPromise) return scraperProxyClientPromise;
|
|
108
112
|
scraperProxyClientPromise = (async () => {
|
|
113
|
+
if (!SCRAPER_PROXY_PASSWORD) return null;
|
|
109
114
|
try {
|
|
110
115
|
const undici = await import('undici');
|
|
111
116
|
const proxyUrl = "http://" + encodeURIComponent(SCRAPER_PROXY_USERNAME) + ":" + encodeURIComponent(SCRAPER_PROXY_PASSWORD) + "@" + SCRAPER_PROXY_HOST + ":" + String(SCRAPER_PROXY_PORT);
|
|
@@ -1128,12 +1133,40 @@ select.pr-inp{cursor:pointer;background:#fff}
|
|
|
1128
1133
|
|
|
1129
1134
|
<!-- CDN scripts -->
|
|
1130
1135
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
|
1131
|
-
<script
|
|
1132
|
-
|
|
1133
|
-
|
|
1136
|
+
<script>
|
|
1137
|
+
window.__veLoadFallback = function(el, candidates){
|
|
1138
|
+
try{
|
|
1139
|
+
if(!el) return;
|
|
1140
|
+
var list = String(candidates || "").split("||").map(function(v){ return v.trim(); }).filter(Boolean);
|
|
1141
|
+
var idx = Number(el.getAttribute("data-fallback-idx") || "0");
|
|
1142
|
+
if(idx >= list.length) return;
|
|
1143
|
+
var next = list[idx];
|
|
1144
|
+
el.setAttribute("data-fallback-idx", String(idx + 1));
|
|
1145
|
+
el.src = next;
|
|
1146
|
+
}catch(_){}
|
|
1147
|
+
};
|
|
1148
|
+
</script>
|
|
1149
|
+
<script
|
|
1150
|
+
src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/builder.js"
|
|
1151
|
+
onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/builder.js||https://unpkg.com/vvvebjs@latest/libs/builder/builder.js')"
|
|
1152
|
+
></script>
|
|
1153
|
+
<script
|
|
1154
|
+
src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/undo.js"
|
|
1155
|
+
onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/undo.js||https://unpkg.com/vvvebjs@latest/libs/builder/undo.js')"
|
|
1156
|
+
></script>
|
|
1157
|
+
<script
|
|
1158
|
+
src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/inputs.js"
|
|
1159
|
+
onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/inputs.js||https://unpkg.com/vvvebjs@latest/libs/builder/inputs.js')"
|
|
1160
|
+
></script>
|
|
1134
1161
|
<!-- components.js defines shared colour-class arrays used by bootstrap5/widgets components -->
|
|
1135
|
-
<script
|
|
1136
|
-
|
|
1162
|
+
<script
|
|
1163
|
+
src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components.js"
|
|
1164
|
+
onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components.js||https://unpkg.com/vvvebjs@latest/libs/builder/components.js')"
|
|
1165
|
+
></script>
|
|
1166
|
+
// <script
|
|
1167
|
+
// src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js"
|
|
1168
|
+
// onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js||https://unpkg.com/vvvebjs@latest/libs/builder/components-widgets.js')"
|
|
1169
|
+
// ></script>
|
|
1137
1170
|
<script>
|
|
1138
1171
|
/* Safety stub: if components.js didn't define these, create empty arrays so
|
|
1139
1172
|
components-bootstrap5.js doesn't throw ReferenceError on load. */
|
|
@@ -1160,8 +1193,14 @@ if (window.Vvveb && window.Vvveb.Components) {
|
|
|
1160
1193
|
} catch(_) {}
|
|
1161
1194
|
}
|
|
1162
1195
|
</script>
|
|
1163
|
-
<script
|
|
1164
|
-
|
|
1196
|
+
<script
|
|
1197
|
+
src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-bootstrap4.js"
|
|
1198
|
+
onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-bootstrap4.js||https://unpkg.com/vvvebjs@latest/libs/builder/components-bootstrap4.js')"
|
|
1199
|
+
></script>
|
|
1200
|
+
<script
|
|
1201
|
+
src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js"
|
|
1202
|
+
onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js||https://unpkg.com/vvvebjs@latest/libs/builder/components-widgets.js')"
|
|
1203
|
+
></script>
|
|
1165
1204
|
|
|
1166
1205
|
<script>
|
|
1167
1206
|
'use strict';
|
|
@@ -5509,8 +5548,9 @@ function createVisualEditorMiddleware(options) {
|
|
|
5509
5548
|
);
|
|
5510
5549
|
return;
|
|
5511
5550
|
}
|
|
5512
|
-
|
|
5513
|
-
const
|
|
5551
|
+
const directFetch = (input, init = {}) => fetch(input, init);
|
|
5552
|
+
const scraperFetch = (input, init = {}) => {
|
|
5553
|
+
if (!SCRAPER_PROXY_PASSWORD) return directFetch(input, init);
|
|
5514
5554
|
if (!useScraperProxy || !scraperProxyClient) {
|
|
5515
5555
|
const scraperUrl = new URL(SCRAPER_API_ENDPOINT);
|
|
5516
5556
|
scraperUrl.searchParams.set("api_key", SCRAPER_PROXY_PASSWORD);
|
|
@@ -5522,6 +5562,29 @@ function createVisualEditorMiddleware(options) {
|
|
|
5522
5562
|
dispatcher: scraperProxyClient.dispatcher
|
|
5523
5563
|
});
|
|
5524
5564
|
};
|
|
5565
|
+
const shouldFallbackFromScraper = async (resp) => {
|
|
5566
|
+
try {
|
|
5567
|
+
if (resp.ok) return false;
|
|
5568
|
+
const text = await resp.clone().text();
|
|
5569
|
+
return SCRAPER_BILLING_ERROR_RE.test(String(text || ""));
|
|
5570
|
+
} catch (_) {
|
|
5571
|
+
return false;
|
|
5572
|
+
}
|
|
5573
|
+
};
|
|
5574
|
+
const upstreamFetch = async (input, init = {}) => {
|
|
5575
|
+
const primary = await scraperFetch(input, init);
|
|
5576
|
+
if (!await shouldFallbackFromScraper(primary)) {
|
|
5577
|
+
return primary;
|
|
5578
|
+
}
|
|
5579
|
+
try {
|
|
5580
|
+
console.warn("[conversion-proxy] ScraperAPI billing/quota detected; falling back to direct fetch", {
|
|
5581
|
+
url: input,
|
|
5582
|
+
mode: useScraperProxy ? "proxy" : "simple"
|
|
5583
|
+
});
|
|
5584
|
+
} catch (_) {
|
|
5585
|
+
}
|
|
5586
|
+
return directFetch(input, init);
|
|
5587
|
+
};
|
|
5525
5588
|
const headers = {
|
|
5526
5589
|
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36",
|
|
5527
5590
|
Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
|
|
@@ -5681,8 +5744,8 @@ window.__EDITOR_MODE__=true;
|
|
|
5681
5744
|
window.CONVERSION_DISABLE_TRACKING=true;
|
|
5682
5745
|
window.SNOWPLOW_ENABLED=false;
|
|
5683
5746
|
var TARGET_HOSTNAME=(function(){try{return new URL(TARGET_ORIGIN).hostname.toLowerCase();}catch(_){return "";}})();
|
|
5684
|
-
var TRACKING_HOST_MARKERS=["snowplow","snowplowanalytics","collector","analytics","conversion","taboola"];
|
|
5685
|
-
var TRACKING_PATH_MARKERS=["/i","/com.snowplowanalytics.snowplow/","/tp2","/track","/events","/unip"];
|
|
5747
|
+
var TRACKING_HOST_MARKERS=["snowplow","snowplowanalytics","collector","analytics","conversion","taboola","northbeam"];
|
|
5748
|
+
var TRACKING_PATH_MARKERS=["/i","/com.snowplowanalytics.snowplow/","/tp2","/track","/events","/unip","/nb-collector"];
|
|
5686
5749
|
function hasMarker(value,markers){
|
|
5687
5750
|
var text=String(value||"").toLowerCase();
|
|
5688
5751
|
for(var i=0;i<markers.length;i++){
|
|
@@ -5726,11 +5789,12 @@ function shouldBlockEditorTracking(rawUrl){
|
|
|
5726
5789
|
var isSnowplowStylePath=path==="/i"||path.indexOf("/com.snowplowanalytics.snowplow/")!==-1||path.indexOf("/tp2")!==-1;
|
|
5727
5790
|
var isTaboolaUnip=host==="trc-events.taboola.com"&&//log/d+/unip(?:/|$)/.test(path);
|
|
5728
5791
|
var isCollectApiPath=path==="/api/collect"||path.indexOf("/api/collect/")===0;
|
|
5729
|
-
|
|
5792
|
+
var isNbCollectorPath=path==="/nb-collector"||path.indexOf("/nb-collector/")===0;
|
|
5793
|
+
return isCrossOriginCollector||(looksLikeHeartbeatPayload&&isSnowplowStylePath)||isCollectApiPath||isTaboolaUnip||isNbCollectorPath;
|
|
5730
5794
|
}catch(_){
|
|
5731
5795
|
try{
|
|
5732
5796
|
var s=String(rawUrl||"").toLowerCase();
|
|
5733
|
-
return s.indexOf("snowplow")!==-1||s.indexOf("com.snowplowanalytics")!==-1||s.indexOf("collector")!==-1||s.indexOf("/api/collect")!==-1||s.indexOf("trc-events.taboola.com")!==-1;
|
|
5797
|
+
return s.indexOf("snowplow")!==-1||s.indexOf("com.snowplowanalytics")!==-1||s.indexOf("collector")!==-1||s.indexOf("/api/collect")!==-1||s.indexOf("trc-events.taboola.com")!==-1||s.indexOf("/nb-collector")!==-1||s.indexOf("northbeam")!==-1;
|
|
5734
5798
|
}catch(__){
|
|
5735
5799
|
return false;
|
|
5736
5800
|
}
|