Каковы альтернативы window.addEvent ('domready', function () для window.location.href? - PullRequest
4 голосов
/ 03 февраля 2012

Мы передаем страницу URL-адресов нашим администраторам по электронной почте через идентификатор ссылки в Joomla, используя ...

window.addEvent('domready', function() 
{ 
  document.getElementById('refer').value=window.location.href; 
});

Этот код работает на некоторых сайтах, но не на других. Я попробовал jquery-версию без особой удачи, хотя я открыт для предложений. Сайт, не возвращающий URL-адрес по электронной почте, находится по адресу http://www.freestylelitemeter.com, а сайт, работающий по адресу http://www.comparediabetictestingsupplies.com.. Мы используем «ссылку» как скрытое поле, и все совпадает, поэтому я считаю, что проблемы с помощью window.addEvent ('domready', function (), если нет конфликта, о котором я не знаю. Еще одна интересная вещь - у рабочего домена гораздо больше файлов сценариев, которые в прошлом обнаружили конфликт между файлами сценариев, в то время как меньший на сайте нет.

1 Ответ

7 голосов
/ 03 февраля 2012

При http://www.freestylelitemeter.com/, MooTools не загружается. Вы получаете эту ошибку в консоли JavaScript:

SCRIPT438: Объект не поддерживает свойство или метод 'getElement'
mootools.js, строка 53 символа 97

MooTools расширяет window с addEvent(). Поскольку MooTools не загружен, addEvent() завершается ошибкой, и ваш код никогда не выполняется.

У вас глючная версия MooTools, исправьте ее, и ваша проблема должна быть решена.

Но, что еще лучше, вы уже используете jQuery. Просто измените свой код на это:

$(function ()
{
    $('#refer').val(location.href);
});

Вы вообще много используете MooTools? Вы можете переключиться исключительно на jQuery и загрузить на одну библиотеку меньше.

...