шиммирование iframe или ie6 (и ниже) выбирают z-индексную ошибку

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

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

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

14
задан lock 10 February 2017 в 12:25
поделиться

6 ответов

Вы не должны скрывать каждый select использование цикла. Все, в чем Вы нуждаетесь, является правилом CSS как:

* html .hideSelects select { visibility: hidden; }

И следующий JavaScript:

//hide:
document.body.className +=' hideSelects'

//show:
document.body.className = document.body.className.replace(' hideSelects', '');

(Или, можно использовать фаворита addClass / removeClass реализация).

8
ответ дан 1 December 2019 в 14:12
поделиться

Существует плагин для jQuery, названного bgiframe, который делает iframe метод довольно легким реализовать.

Лично, как веб-разработчик, я до такой степени, когда, я больше не забочусь о пользовательском опыте в IE6. Я заставлю его представить максимально близко к "корректному" и удостовериться, что это функционально, но насколько скорость идет, слишком плохо. Они могут обновить. IE7 (хотя все еще довольно медленный, по сравнению с любым браузером) отсутствовал в течение 2 лет (почти ко дню!). IE8 будет вскоре. Firefox доступен для каждой платформы. Safari является также опцией (и супер быстро). Opera доступен для большей части/каждой платформы.

IE6 был выпущен в более чем 7 лет назад. По моему скромному мнению, нет никакой причины все еще использовать его кроме ленивых пользователей и некомпетентных отделов ИТ (или если Вы - веб-разработчик).

3
ответ дан 1 December 2019 в 14:12
поделиться

в случае, если любому интересно, вот некоторый код шиммирования IE.

* html .shimmed {
    _azimuth: expression(
        this.shimmed = this.shimmed || 'shimmed:'+this.insertAdjacentHTML('beforeBegin','<iframe style="filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0);position:absolute;top:0px;left:0px;width:100%;height:100%" frameBorder=0 scrolling=no src="javascript:false;document.write('+"''"+');"></iframe>'),
        'inherit');
}

касательно: эта суть subtleGradient и этот сообщение Zach Leatherman

2
ответ дан 1 December 2019 в 14:12
поделиться

До IE7 выпадающий список был "оконным" управлением, означающим, что это было представлено как управление непосредственно Windows, а не браузером, синтезирующим его. По сути, для него не было возможно поддерживать z-индексацию против других синтезируемых средств управления.

для появления по DDL, необходимо использовать другое оконное управление, как IFRAME. Можно также использовать немного известной функции только для IE, названной window.createPopup (), который по существу делает всплывающее окно без хрома. Это имеет ограничения, как неостанавливаемый щелчок, но они на самом деле довольно полезны, если Вы создаете систему меню при наведении курсора.

1
ответ дан 1 December 2019 в 14:12
поделиться

Существует также activex метод, который я начинаю исследовать. Это требует, чтобы условный код создания использовал элемент управления ActiveX вместо избранного поля для ie6. Существует демонстрационный сценарий , показывающий технику, которая является обсуждена более подробно здесь .

Обновление: кажется, что MS Office требуется для элемента управления ActiveX быть на машине пользователя. В теории могло бы быть возможно включать это где-нибудь, так или иначе, но это становится намного более грязным.

0
ответ дан 1 December 2019 в 14:12
поделиться

Самое простое и элегантное решение этой досадной ошибки IE можно найти по адресу: http://docs.jquery.com/Plugins/bgiframe с использованием jQuery.

Я пришел к такому выводу после двух дней попыток заставить его работать с WebSphere Portal / Portal Applications, где все является динамическим, включая всплывающее меню.

1
ответ дан 1 December 2019 в 14:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: