appendChild () не работает в Chrome специально. Может не интерпретироваться как JavaScript

0

Я использую партнерскую программу, которая в этом случае означает, что когда клиент нажимает кнопку "Заказ", он/она будет перенаправлен на сайт продавцов. Затем продавец регистрирует, что клиент пришел с кнопкой "НА", что делается с помощью трекера, который он регистрирует. Этот трекер запускается нажатием кнопки "Заказ", используя следующий код:

<script type="text/javascript"> 
    $(function() {
        function injectFile(filePath) {
            var newScript = document.createElement('script');
            newScript.type = 'text/javascript';
            newScript.src = filePath;
            document.getElementsByTagName('body')[0].appendChild(newScript);
        }

        $('#custom_form').on('success.form', function() {
            injectFile('https://example.com/&ti=' + Math.round((new Date().getTime() * Math.random())) + '&charset=ISO-8859-1');
        });
    });
</script>

Я удалил фактический URL и большинство параметров. ti представляет идентификатор заказа, который необходим для работы reg, но он не должен быть действительным. Вышеуказанная математика генерирует случайное число и вставляет его.

Отслеживая заголовки HTTP, я могу подтвердить, что это работает как в Firefox, так и в IE, так как он правильно запрашивает URL. Однако в Chrome никакой запрос не зарегистрирован, и продавец не увидит, что клиент приходит с моей стороны.

Иногда консоль Chrome отображает это: "Ресурс интерпретируется как скрипт, но передается с текстом типа MIME/html". Однако это просто предупреждение, и поскольку он определяет его как скрипт, он не должен влиять на выполнение? Странная вещь здесь, я не получаю эту ошибку каждый раз.

Я пробовал практически все, и я не понимаю, почему Chrome не совместим с такой базовой функциональностью. Есть ли возможный обходной путь или фактическое исправление моей проблемы?

Заранее спасибо, Fredrik

Теги:
google-chrome
getelementsbytagname
appendchild

2 ответа

1

Это плохая конфигурация конфигурации Apache/Nginx удаленного сервера. Тип файла mime не является "text/javascript". Но никакого эффекта на ваш код;)

  • 1
    Но он интерпретирует это как сценарий. И просматривая профили в chrome, он даже успешно выполняет функцию injectFile, но без HTTP-запроса.
0

Попробуйте запустить свой код в окне инкогнито или в новой установке Chrome - некоторые расширения блокируют асинхронную загрузку сценариев с сайтов рекламы или отслеживания способом, который трудно обнаружить.

  • 0
    Спасибо за ваш ответ, но, похоже, это не имеет значения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню