Uncaught TypeError: Невозможно вызвать метод split из undefined

0

Я использую окно цвета в проекте, и эта ошибка в IE приводит к тому, что остальная часть скрипта тормозится из-за ошибки uncatch-типа для.split в строке 11, любые подсказки будут отличными

Drupal.behaviors.PROJECT = {

attach: function (context, settings) {
jQuery(document).ready(function($){

  $(".inlinepop").colorbox({inline:true, width:"50%", href:"#login-pop"});

  //Solve problem with Youtube videos overflow
  params = '?wmode=transparent&rel=0';
  url = $('#content').find('iframe').attr('src');
  url = url.split('?');
  url = url[0] + params;
  $('#content').find('iframe').attr('src', url);

  //Set max width of video according to div
  width_container = $('#content').find('.node-content').width();
  $('#content').find('iframe').attr('width', width_container);
 });
 }
};
  • 0
    это странно. Одна вещь, которую вы определенно должны сделать по-другому, это поместить var перед объявлениями переменных. То, как вы делаете это сейчас, устанавливает их как «глобальные переменные»
  • 0
    Следующее, что я хотел бы предложить, это запускать эти строки по одному в консоли JavaScript JavaScript. Начните с того, что $('#content').find('iframe').attr('src'); дает тебе. (хотя вам, возможно, придется сделать $=jQuery 1st).
Показать ещё 8 комментариев
Теги:
drupal

1 ответ

0

Бьюсь об заклад, ваша проблема в том, что на странице у вас есть более одного видео на YouTube.

Метод find() приведенный ниже (строка 11, возможно), вернет набор всех iframe s, а не только один.

url = $('#content').find('iframe').attr('src');

Вероятно, вы захотите повторить все эти действия:

$('#content iframe').each(function(){
  url = $(this).attr('src');
  url = url.split('?');
  url = url[0] + params;
})

Редактировать:

Я вернул $('#content').find('iframe') в $('#content iframe') в моем примере выше. find() кажется излишним. Это должно вести себя одинаково

  • 1
    Если он возвращает более одного, он все равно будет работать, пока первый из них имеет атрибут src.
  • 0
    Я тебе верю (но сейчас собираюсь проверить). Был просто гадать ;-)
Показать ещё 1 комментарий

Ещё вопросы

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