Fancybox не работает в IE8 - метод "onCleanup" не поддерживается - PullRequest
2 голосов
/ 16 февраля 2011

Итак, я тестирую fancybox.Работа с этим простым примером (который определен внутри тела:

<link rel="stylesheet" href="../../Content/Scripts/fancybox/jquery.fancybox-1.3.4.css"
type="text/css"/>
<script type="text/javascript" src="../../Content/Scripts/fancybox/jquery.fancybox-1.3.4.js"></script>
<script type="text/javascript" src="../../Content/Scripts/fancybox/jquery.easing-1.3.pack.js"></script>

<script type="text/javascript">
function ShowModal() {
    $.fancybox('<h2>test</h2><p>asdf</p>', {
        'transitionIn': 'fade',
        'transitionOut': 'fade'
    });
}
</script>

Я вызываю функцию ShowModal в другом месте, а также ссылаюсь на jquery в голове.

Это прекрасно работает как в Firefox, так и в Chrome- но в IE8 я получаю ошибку js в строке 324. Возможно, это связано с методом «onCleanup».

Я хром У меня была эта ошибка ранее: Uncaught TypeError: У объекта # нет метода 'onCleanup'

Я предположил, что это та же ошибка, на которую жаловался IE, я дважды проверил некоторые пути сценариев, и ошибка исчезла в Chrome, но IE все еще жалуется - кто-нибудь может мне помочь?

Ответы [ 2 ]

2 голосов
/ 10 июня 2011

Относительно этой ошибки (результат currentOpts.onCleanup [undefined] не является функцией в строке 324)

Я провел около 4 часов сегодня, пытаясь выяснить это. Я ДЕЙСТВИТЕЛЬНО включил таблицу стилей fancybox, и я все делал правильно. Оказывается, в FancyBox есть глупая ошибка. Я выяснил причину:

Если какие-либо таблицы стилей с непустым атрибутом заголовка появляются перед Fancybox css, вы получите эту ошибку. Это происходит во всех браузерах.

ВЫБРОСИТ ЭТУ ОШИБКУ:

<head>
<title>OH NOES</title>
<link rel="stylesheet" href="/css/mysite.css" type="text/css" media="all" title="Main Styles" charset="utf-8">
<link rel="stylesheet" href="/css/jquery.fancybox-1.3.4.css" type="text/css" media="screen" title="Modal Dialog Support" charset="utf-8">

РЕШЕНИЕ ЕСТЬ ОДНА ИЗ ЭТИХ вещей

1. Нет атрибута заголовка любой таблицы стилей, которую вы включаете до fancybox css

<head>
<title>THIS WILL WORK</title>
<link rel="stylesheet" href="/css/mysite.css" type="text/css" media="all" charset="utf-8">
<link rel="stylesheet" href="/css/jquery.fancybox-1.3.4.css" type="text/css" media="screen" title="Modal Dialog Support" charset="utf-8">

2. Или, сначала включите css в fancybox.

<head>
<title>THIS WILL WORK TOO</title>
<link rel="stylesheet" href="/css/jquery.fancybox-1.3.4.css" type="text/css" media="screen" title="Modal Dialog Support" charset="utf-8">
<link rel="stylesheet" href="/css/mysite.css" type="text/css" media="all" title="Main Styles" charset="utf-8">

(Спасибо, Fancybox, за то, что потратили половину моего дня.)

2 голосов
/ 24 февраля 2011

Это было, конечно, потому что мой тег ссылки не в голове - я серьезно должен перестать думать о зебре, просто потому, что вижу полосы.

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