Вопрос по google-chrome-frame, conditional-comments – Можно ли использовать условные комментарии из Chrome Frame?

1

Когда используешь...

<!--[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   ответ
2

что вы находитесь в Chrome Frame внутри IE, - это проверить

var isChromeFrame = !!window.externalHost;

Это доступно только внутри Chrome Frame. В настоящее время для Chrome Frame не существует условно-подобной конструкции.

Больше наhttp://www.chromium.org/developers/how-tos/chrome-frame-getting-started/understanding-chrome-frame-user-agent.

Но в вашей ситуации, если у пользователя уже установлен Chrome Frame и вы запускаете его черезchrome=1 флажок, то они никогда не увидят никакого содержимого внутри условных комментариев IE.

Спасибо! Я полагаю, что двойные режимы совместимости в инструментах разработчика IE отбросили меня Но, чтобы добавить что-то ценное к этому разговору, это небольшой сценарий, чтобы определить, установлен Chrome Frame или нет. $ (document) .ready (function () {if ($ .browser.chromeframe! = window.externalHost) {alert (& quot; вы используете chrome frame & quot;);} else {alert (& quot; вы не используете chrome frame & quot ;);}});

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