Панель инструментов Wibiya ломает QuickTab Drupal - PullRequest
0 голосов
/ 09 сентября 2011

У меня установлен модуль Drupal Quicktabs по адресу: http://ar.sacherokeedev.com/auction-directory

Я также установил панель инструментов wibiya, http://www.wibiya.com.

Все отлично работает в Firefox и Chrome, но в IE7, с включенной панелью инструментов, это нарушает загрузку вкладки ajax.При отключенной панели инструментов IE7 работает нормально.У Wibya есть режим "Javascript Conflict", и я попробовал это, а также изменил мой DocType, как они предлагают.

Я сузил его до нескольких вещей.Во-первых, поведение быстрых вкладок основано на «типе» вкладки:

if (tab.tabObj.type != 'view') {
    // construct the ajax path to retrieve the content, depending on type
    var qtAjaxPath = Drupal.settings.basePath + 'quicktabs/ajax/' + tab.tabObj.type + '/';
    switch (tab.tabObj.type) {
      case 'node':
        qtAjaxPath +=  tab.tabObj.nid + '/' + tab.tabObj.teaser + '/' + tab.tabObj.hide_title;
        break;
      case 'block':
        qtAjaxPath +=  tab.qtid + '/' + tab.tabObj.bid + '/' + tab.tabObj.hide_title;
        break;
      case 'qtabs':
        qtAjaxPath +=  tab.tabObj.qtid;
        break;
    }

В моем случае, при использовании панели инструментов в IE, tab.tabObj.type имеет значение «undefined».Итак, я думаю, что wibiya захватывает мои объекты или что-то в этом роде.

Я также получаю сообщение об ошибке во время выполнения: «Объект не поддерживает это свойство или метод» в следующем блоке:

if (!Drupal.quicktabs.scripts[files[i]] && !files[i].match(/^\/misc\/jquery\.js.*$/)) {
  Drupal.quicktabs.scripts[files[i]] = files[i];
  html += '<script type="text/javascript" src="' + files[i] + '"></script>';
}

Кто-нибудь видел это раньше, или есть какие-либо предложения?

Обновление: я сделал console.log (tab.tabObj) и в Firefox и Chrome, я получаю что-то, что имеет смысл, объект с идентификатором блока, типа и т. д. ... Но в ie я получаю это:

function(fn,thisObj){var scope=thisObj|window;for(vari=0,len=this.length;i<len;++i){fn.call(scope,this[i],i,this);}}

У кого-нибудь есть какие-либо идеи?

ОБНОВЛЕНИЕ: В настоящее время я использую Drupalмодуль wibya, и сама панель инструментов отлично работает на моем сайте, независимо от того, используете ли вы IE, Firefox или Chrome.Проблема заключается в том, что вкладки ajax на этой странице не могут функционировать с помощью панели инструментов wibiya.Я склонен согласиться с @clive, что это конфликт jQuery / javascript, но я не уверен, что я могу с этим поделать.

Что касается запуска Drupal 6, я унаследовал систему, и ссейчас не могу обновить.

ОБНОВЛЕНИЕ: Я только что попытался загрузить jQuery 1.4, используя инструкции в http://drupal.org/node/1058168.Это заставило IE работать должным образом, но теперь Chrome и Firefox это не нравится.

ОБНОВЛЕНИЕ: Это конфликт между jQuery 1.3, который работает на Drupal 6, и панелью инструментов Wibiya, которая используетне менее 1,4.Я принимаю ответ @ clive, главным образом потому, что он прав в том, что это то, с чем мне придется смириться, если я буду продолжать использовать Drupal 6.

1 Ответ

1 голос
/ 09 сентября 2011

Моим лучшим предположением будет то, что вы используете Drupal 6, который поставляется с jQuery 1.2.6 (или 1.3.2 с модулем обновления jQuery . Wibiya baar, наоборот, использует jQuery 1.4.2 и выше.

Согласно странице на форумах поддержки Wibiya (которую, я уверен, вы уже видели):

если страница загружает другую версию jQuery, такую ​​как 1.2.6 или 1.3.2, ранее, загрузка Wibiya bar собственного jQ 1.4.2 не работает. Нет баров, ничего.

Но если вы сначала загрузите свой собственный jQ 1.4.2, то ваша панель будет работать, несмотря на то, что все другие функции Drupal отстой, такие как опросы, голоса, теги иерархического выбора, красивые меню, некоторые складные объекты и т. Д.

Существует множество подобных проблем с Drupal, поэтому сообщество предлагает обходные пути и решения: Специальный модуль Wibiya для Drupal , вероятно, избавит вас от многих головных болей.

UPDATE

На вашем сайте есть ошибка JS:

Unsafe JavaScript attempt to access frame with URL <a href="http://ar.sacherokeedev.com/auction-directory" rel="nofollow">http://ar.sacherokeedev.com/auction-directory</a> from frame with URL <a href="http://ad.doubleclick.net/adi/N1727.autoremarketing.com/B5111890.6;sz=728x90;click=http://adclick.g.doubleclick.net/aclk?sa=L&ai=B6dLCjz5qTqvUGIfN0AXN67WqBa-C-usBAAAAEAEg7ZqAFjgAWK" rel="nofollow">http://ad.doubleclick.net/adi/N1727.autoremarketing.com/B5111890.6;sz=728x90;click=http://adclick.g.doubleclick.net/aclk?sa=L&ai=B6dLCjz5qTqvUGIfN0AXN67WqBa-C-usBAAAAEAEg7ZqAFjgAWK</a>_Q_80gYLu2moPQCrIBFGFyLnNhY2hlcm9rZWVkZXYuY29tugEJZ2ZwX2ltYWdlyAEJ2gEtaHR0cDovL2FyLnNhY2hlcm9rZWVkZXYuY29tL2F1Y3Rpb24tZGlyZWN0b3J5mAKgjQbAAgLgAgDqAhNBUl9Ib21lX0xlYWRlcmJvYXJk-ALw0R6QA4wGmAPgA6gDAeAEAaAGFg&num=0&sig=AOD64_1Xi82LSwUc1kKF0RL_orTztOMfxg&client=ca-pub-2649455708539916&adurl=;ord=1670303729?. Domains, protocols and ports must match.

Возможно ли, что небезопасная попытка фрейма не позволяет IE7 обработать остальную часть JS, из-за чего ваши вкладки не работают?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...