JS - изменение атрибута перехвата - PullRequest
0 голосов
/ 03 августа 2020

Моя цель здесь - перехватить все настройки и изменения атрибутов. Проблема в том, что я не знаю, как это сделать. Я хочу изменить атрибуты, которые устанавливаются / меняются следующим образом: cpo.src = "/cdn-cgi/challenge-platform/orchestrate/jsch/v1"; без использования setAttribute(src, 'stufz'). У меня есть код, который можно использовать с моего Ajax перехватчика, который работает на 100% и изменяет запрос. В основном, почему я это делаю, так это то, что я создаю веб-прокси, и он нуждается в большой переработке. Пожалуйста, только на стороне клиента JS! Pure Javascript тоже!

В основном вот пример того, как я хочу его перехватить

/cdn-cgi/challenge-platform/orchestrate/jsch/v1 -> /alloy?url=https://soap2day.to/cdn-cgi/challenge-platform/orchestrate/jsch/v1

Если я недостаточно ясно понимаю объясните пожалуйста в комментариях.


// Ajax Interceptor that works perfectly that could be used in this case.

let oldXHROpen = window.XMLHttpRequest.prototype.open;window.XMLHttpRequest.prototype.open = function(method, url, async, user, password) {

   if (url.startsWith('http')) {
   const encodedURL = btoa(url)
   url = '/alloy/?url=' + encodedURL
   } else if (url.startsWith('//')) {
         const encodedURL = btoa('http:'  + url)
         url = '/alloy/?url=' + encodedURL
   } else if (url.startsWith('/')) {
      if (!url.startsWith('/fetch/')) {
         let apData = document.getElementById('alloyData');
         let urlData = apData.getAttribute('data-alloyURL');
         url = '/fetch/' + urlData + url
      }
   }

    return oldXHROpen.apply(this, arguments);
   }```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...