When I clear Drupal cache, then does the Drupal's Javascript not work. After I rebuild the BCubed Cached Data, then works the Javascript again.

The JS error messages:

InvalidCharacterError: String contains an invalid character - js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:945
/sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:945:25
/sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:838:2

TypeError: Drupal.ajax is undefined - js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:449:5
/sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:449:5
dispatch /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:3:10264
add/q.handle /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:3:8326
trigger /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:4:5626
trigger/< /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:4:6130
each /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:2:2713
each /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:2:1001
trigger /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:4:6109
initContextual /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:355:5
attach/uncachedIDs

TypeError: Drupal.ajax is undefined - js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:449:5
/sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:449:5
dispatch /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:3:10264
add/q.handle /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:3:8326
trigger /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:4:5626
trigger/< /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:4:6130
each /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:2:2713
each /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:2:1001
trigger /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:4:6109
initContextual /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:355:5
attach/uncachedIDs

TypeError: Drupal.ajax is undefined - js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:449:5
/sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:449:5
dispatch /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:3:10264
add/q.handle /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:3:8326
trigger /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:4:5626
trigger/< /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:4:6130
each /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:2:2713
each /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:2:1001
trigger /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:4:6109
initContextual /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:355:5
attach/uncachedIDs

TypeError: $autocomplete.autocomplete is not a function - js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:769:9
attach /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:769:9
Drupal.attachBehaviors/< /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:47:11
forEach self-hosted:271:13 Drupal.attachBehaviors /sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:44:5
/sites/default/files/js/js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:229:5
t /sites/default/files/js/js_BKcMdIbOMdbTdLn9dkUq3KCJfIKKo2SvKoQ1AnB8D-g.js:4:381

On the line js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:945 is the following code:
var data = JSON.parse(atob(drupalSettings["iaKqDvBYidck"]));

After I rebuild the BCubed Cached Data, is the line changed js_rhQ3QvUE9T6O1BzMzaDucMpAP9tgWbLtp1q75V5vi1M.js:945
var data = JSON.parse(atob(drupalSettings["de4A80cxcbRR"]));

On the line js_DL7KVIxSsaBvQOFkO_OQSJ42ONAcVv5LDrIM7ifgBuU.js:838 starts the following code:

(function() {

  function BCubedPlugin(obj) {
    // blank
  }

  BCubedPlugin.prototype.sendEvent = function(eventname, propertiesobj) {
    if (window.CustomEvent) {
      var event = typeof propertiesobj !== 'undefined' ? new CustomEvent(eventname, {detail: propertiesobj}) : new CustomEvent(eventname);
    } else {
      var event = document.createEvent('CustomEvent');
      if (typeof propertiesobj !== 'undefined') {
        event.initCustomEvent(eventname, true, true, propertiesobj);
      } else {
        event.initCustomEvent(eventname, true, true);
      }
    }
    document.body.dispatchEvent(event);
  };

  function BCubedEventGeneratorPlugin(obj) {
    BCubedPlugin.call(obj);
    for (var prop in obj) {
      if (obj.hasOwnProperty(prop)) {
        this[prop] = obj[prop];
      }
    }
  }

  BCubedEventGeneratorPlugin.prototype = Object.create(BCubedPlugin.prototype);
  BCubedEventGeneratorPlugin.prototype.constructor = BCubedEventGeneratorPlugin;

  BCubedEventGeneratorPlugin.prototype.allow_multiple_exec = false;
  BCubedEventGeneratorPlugin.prototype.executed = false;

  BCubedEventGeneratorPlugin.prototype.exec = function(args) {
    if (!this.executed || this.allow_multiple_exec) {
      this.executed = true;
      this.init(args);
    }
  };

  function BCubedConditionPlugin(obj) {
    BCubedPlugin.call(obj);
    for (var prop in obj) {
      if (obj.hasOwnProperty(prop)) {
        this[prop] = obj[prop];
      }
    }
  }

  BCubedConditionPlugin.prototype = Object.create(BCubedPlugin.prototype);
  BCubedConditionPlugin.prototype.constructor = BCubedConditionPlugin;

  function BCubedActionPlugin(obj) {
    BCubedPlugin.call(obj);
    for (var prop in obj) {
      if (obj.hasOwnProperty(prop)) {
        this[prop] = obj[prop];
      }
    }
  }
  BCubedActionPlugin.prototype = Object.create(BCubedPlugin.prototype);
  BCubedActionPlugin.prototype.constructor = BCubedActionPlugin;

  var plugins = {};

  plugins['bcubed/adblockerdetect'] = new BCubedEventGeneratorPlugin({
  init: function(arguments) {
    if (document.getElementById(arguments.strings.adblocker_bait)) {
      this.sendEvent('adblockerNotDetected');
    }
    else {
      this.sendEvent('adblockerDetected');
    }
  }
});
CommentFileSizeAuthor
#3 bcubedKey-2969170-3.patch961 bytesantonín slejška

Comments

Antonín Slejška created an issue. See original summary.

antonín slejška’s picture

I could localise the problem. When I clear Drupal casches, does the JS command 'drupalSettings["iaKqDvBYidck"]' not work, because there is no parameter "iaKqDvBYidck" in drupalSettings. There is a new parameter: "de4A80cxcbRR". I can see the parameter in Javascript console:

 >> drupalSettings
{
  ...
  "de4A80cxcbRR": "eyJwYWdldHlw...",
  ...
}

When I rebuild the BCubed Cached Data, is the parameter changed to:
drupalSettings["de4A80cxcbRR"]

antonín slejška’s picture

StatusFileSize
new961 bytes

In the patch is a static settings key generated. It means, the key will not change, when rebuilding the cache.