Я соглашаюсь с @annakata, что этот вопрос нужен еще в некотором разъяснении, но здесь очень, очень простой пример того, как установить onclick
обработчик событий для переключателей:
<html>
<head>
<script type="text/javascript">
window.onload = function() {
var ex1 = document.getElementById('example1');
var ex2 = document.getElementById('example2');
var ex3 = document.getElementById('example3');
ex1.onclick = handler;
ex2.onclick = handler;
ex3.onclick = handler;
}
function handler() {
alert('clicked');
}
</script>
</head>
<body>
<input type="radio" name="example1" id="example1" value="Example 1" />
<label for="example1">Example 1</label>
<input type="radio" name="example2" id="example2" value="Example 2" />
<label for="example1">Example 2</label>
<input type="radio" name="example3" id="example3" value="Example 3" />
<label for="example1">Example 3</label>
</body>
</html>
Вы можете получить несколько примеров, которые не требуют создания сценариев на стороне сервера, на ie6nomore.com .
Они используют Функция условных комментариев в IE, например:
<!--[if lt IE 7]>
Your browser is outdated!
<![endif]-->
Но примеры на сайте фактически предлагают ссылки на другие браузеры. Конечно, вы можете создать свою собственную версию, которая лучше соответствует вашему макету.
Конечно, вы можете сделать это на стороне сервера, если хотите, поскольку вы все равно используете PHP. Другие примеры здесь с использованием $ _ SERVER ["HTTP_USER_AGENT"]
должны помочь вам начать работу. Использование get_browser
может быть излишним, поскольку для его работы требуется довольно большой файл данных.
Если вас интересует только обнаружение серверной части старых версий IE, это должно сделать:
preg_match('/; MSIE (\d+.\d+)/', $_SERVER['HTTP_USER_AGENT'], $matches);
if (count($matches) > 1 && $matches[1] <= 6.0)
{
echo "Your browser is outdated";
}
Используйте условные комментарии IE на своей странице
<!--[if lt IE 7]>
include a warning here (in an iframe, perhaps, to save extra bandwidth)
<![endif]-->
Вы можете проверить переменную $ _ SERVER ['HTTP_USER_AGENT']
для IE.
if (eregi("MSIE", $_SERVER["HTTP_USER_AGENT"]) ||
eregi("Internet Explorer", $_SERVER["HTTP_USER_AGENT"])) {
// IE
}
В качестве альтернативы вы также можете проверить это с помощью JavaScript
/*
* Check whether the current browser is IE6
*/
function isBrowserIE6() {
if (Sys.Browser.agent == Sys.Browser.InternetExplorer && Sys.Browser.version < 7) {
return true;
} else {
return false;
}
}
(Вышеупомянутое будет работать только в среде ASP.net. Вот сообщение в блоге , которое обрабатывает проверку браузера IE собственный способ).
Затем вы добавляете элемент контейнера HTML на свою страницу
<div id="ie6BrowserWarning" style="display:none">
Your browser is outdated. Please download one of the alternative browsers!
<!-- Set of links to Firefox, Chrome, Safari, Opera,... -->
</div>
И при загрузке страницы вы делаете
<html>
<head>
<script type="text/javascript">
function doIE6WarningCheck()
{
var element = document.getElementById("ie6BrowserWarning");
var isIE6 = isBrowserIE6();
if(element != null && isIE6 == true)
{
element.style.display = "block";
}
}
</script>
</head>
<body onLoad="doIE6WarningCheck()">
<div id="ie6BrowserWarning" style="display:none">
Your browser is outdated. Please download one of the alternative browsers!
<!-- Set of links to Firefox, Chrome, Safari, Opera,... -->
</div>
</body>
</html>
Я не проверял это, просто написал это прямо сейчас из головы. Тебе придется это сделать, но я думаю, это должно сработать. Firebug всегда является хорошим вариантом для отладки JavaScript.
Вы легко сможете это сделать, используя встроенную функцию get_browser
.
Если вы хотите увидеть, как будет выглядеть результат при посещении IE 6, вы можете взять строку пользовательского агента с UserAgentString.com , чтобы протестировать ее.