Перенаправление “.local” субдомен для одноадресной передачи DNS

Моя идея - создать плагин, который будет служить оберткой вокруг функции trigger в jquery:

(function($) {
  $.fn.extend({
    trigger: function(type, data) {
      return this.each(function() {
        if (typeof type == "string" && type.startsWith("test:")) {
          this.dispatchEvent(new window.CustomEvent(type, data));
        }else{
           jQuery.event.trigger(type, data, this)
         }
      });
    }
  });
})(jQuery);

Это слегка модифицированный код из: https: // github. com / jquery / jquery / blob / master / src / event / trigger.js # L185

Предполагая, что вы добавляете обработчик следующим образом:

test.addEventListener('test:custom', function(ev) {
  console.log('test:custom', ev.detail)
});

Вы можете отправьте его по:

$(test).trigger('test:custom', {  detail: 'jquery'});

Недостатком является то, что вам нужно префикс всех ваших пользовательских событий с каким-то пространством имен.

JSFiddle

8
задан Vineet Jain 13 September 2017 в 06:13
поделиться

1 ответ

Можно "объединить" одноадресную передачу и многоадресно передать .local пространства имен (с имеющей приоритет одноадресной передачей), как объяснено на Avahi и Unicast .local. Apple имеет инструкции для того, чтобы сделать то же на Mac OS X.

Другая опция состоит в том, чтобы добавить domain-name=.localnet кому: /etc/avahi/avahi-daemon.conf иметь его использование .localnet вместо .local для многоадресной передачи пространство имен DNS.

4
ответ дан 6 December 2019 в 00:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: