На моем веб-сайте WordPress плагин, который я использую, создает сценарий. Это фрагмент плагина.
<!-- Start of Async Drift Code -->
<script>
"use strict";
!function() {
var t = window.driftt = window.drift = window.driftt || [];
if (!t.init) {
if (t.invoked) return void (window.console && console.error && console.error("Drift snippet included twice."));
t.invoked = !0, t.methods = [ "identify", "config", "track", "reset", "debug", "show", "ping", "page", "hide", "off", "on" ],
t.factory = function(e) {
return function() {
var n = Array.prototype.slice.call(arguments);
return n.unshift(e), t.push(n), t;
};
}, t.methods.forEach(function(e) {
t[e] = t.factory(e);
}), t.load = function(t) {
var e = 3e5, n = Math.ceil(new Date() / e) * e, o = document.createElement("script");
o.type = "text/plain", o.crossorigin = "anonymous", o.async = !0, o.src = "https://js.driftt.com/include/" + n + "/" + t + ".js";
var i = document.getElementsByTagName("script")[0];
i.parentNode.insertBefore(o, i);
};
}
}();
drift.SNIPPET_VERSION = '0.3.1';
drift.load('33xndb9yn9ha');
</script>
<!-- End of Async Drift Code -->
Я хочу разрешить CookieBot предварительное согласие на этот скрипт, чтобы скрипт выглядел так
<script type = "text/plain" data-cookieconsent = "statistics" src = "where/ever"></script>
Я попытался просто добавить его с помощью статистики o.data-cookieconsent = "вот так:
<!-- Start of Async Drift Code -->
<script>
"use strict";
!function() {
var t = window.driftt = window.drift = window.driftt || [];
if (!t.init) {
if (t.invoked) return void (window.console && console.error && console.error("Drift snippet included twice."));
t.invoked = !0, t.methods = [ "identify", "config", "track", "reset", "debug", "show", "ping", "page", "hide", "off", "on" ],
t.factory = function(e) {
return function() {
var n = Array.prototype.slice.call(arguments);
return n.unshift(e), t.push(n), t;
};
}, t.methods.forEach(function(e) {
t[e] = t.factory(e);
}), t.load = function(t) {
var e = 3e5, n = Math.ceil(new Date() / e) * e, o = document.createElement("script");
o.type = "text/plain", o.crossorigin = "anonymous", o.async = !0, o.data-cookieconsent = "statistics", o.src = "https://js.driftt.com/include/" + n + "/" + t + ".js";
var i = document.getElementsByTagName("script")[0];
i.parentNode.insertBefore(o, i);
};
}
}();
drift.SNIPPET_VERSION = '0.3.1';
drift.load('33xndb9yn9ha');
</script>
<!-- End of Async Drift Code -->
Но я получаю эту ошибку в консоли: Uncaught ReferenceError: недопустимая левая часть в назначении Приветствуются любые указания относительно того, что я делаю неправильно или как правильно добавить data-cookieconsent = "statistics".
o.dataset.cookieconsent = "statistics"Спасибо, теперь это работает безупречно @charlietfl



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Как упоминал Charlietfl в комментариях, проблема заключалась в том, что точечная запись не могла содержать "-" в имени. Подробнее о точечной нотации и синтаксисе Здесь: MDN Web Docs
так это:
o.data-cookieconsent = "statistics"
следует записать как:
o['data-cookieconsent']='statistics'
При использовании точечной записи в имени свойства не может быть
-. Будетo['data-cookieconsent']='...', но, возможно, потребуется использоватьsetAttribute()