Можно ли использовать условные комментарии из Chrome Frame?
Когда используешь...
<!--[if lte IE 8]> <html class="ie8-7-6"> <![endif]-->
.ie8-7-6 .loginForm {display:none;} /* The login form is hidden. */
а также
.ie8-7-6 .yourbrowserisold {display:block;} /* and some nice graphics
appear to indicate it doesn't support IE6, 7, or 8. */
Так что это работает очень хорошо, и я предоставляю ссылку для загрузки Chrome Frame.
Но теперь, если установлена Chrome Frame, я бы хотел, чтобы это было опозитом.
<!--[if CF]><html class="chrome-frame><![endif]-->
.chrome-frame .yourbrowserisold {display:none;}
.chrome-frame .loginForm {display:block;}
Но
<!--[if CF]><html class="chrome-frame><![endif]-->
не работает и мне нужна форма для входа в систему.
Я погуглил несколько десятков сайтов и не могу найти ответ, если...
а. это даже возможно с условными обозначениями?
б. или это возможно только с JavaScript?
Любая помощь?
----- Обновление ---------- Вот скрипт для определения, установлен Google Frame или нет.
$(document).ready(function() {
if( $.browser.chromeframe != window.externalHost) {alert("You are using chrome frame. You rock!"); }
else { alert("You are not using chrome frame."); }
});
К вашему сведению: вы можете добавить свой собственный jQuery в вышеприведенный скрипт для пользователей Chrome Frame.
----- Демонстрация: https://dev.clientwhys.com/index-dummy-ie.iml
1 ответ
Лучший способ определить, что вы находитесь в Chrome Frame внутри IE, - это проверить
var isChromeFrame = !!window.externalHost;
Это доступно только внутри Chrome Frame. В настоящее время для Chrome Frame не существует условно-подобной конструкции.
Но в вашей ситуации, если у пользователя уже установлен Chrome Frame, и вы запускаете его через chrome=1
флаг, то они никогда не увидят контент внутри условных комментариев IE.