Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Прошу помощи (https://javascript.ru/forum/project/22725-proshu-pomoshhi.html)

renovatio1976 31.10.2011 03:36

Прошу помощи
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> .. </title></head>

<body>

var browser=navigator.userAgent.toLowerCase();  
var users_browser = ((browser.indexOf('iphone')!=-1);  

if (users_browser)  {  
	document.getElementById("d1").style.visibility='hidden';
}


<div id=d1 >
Hello
</div>

</body>
</html>

По идее, надписи Hello не должно быть видно, если заходить на эту страницу с iphone. Но она видна. Где косяк? Выручайте други! :help:

ksa 31.10.2011 10:41

Цитата:

Сообщение от renovatio1976
По идее, надписи Hello не должно быть видно

Потестить твою идею весьма просто...

var browser=navigator.userAgent.toLowerCase();  
alert(browser)
alert(browser.indexOf('iphone'))
var users_browser = ((browser.indexOf('iphone')!=-1);  
alert(users_browser)

if (users_browser)  {  
	document.getElementById("d1").style.visibility='hidden';
}

renovatio1976 31.10.2011 12:08

Уважаемый Ksa!
Тестирую. По условиям все проходит. Все равно - результат не тот, который жду. Вы видите ошибку?.. Если да, скажите великодушно - ГДЕ она закралась?

users_browser в данном случае равен 13. соотв. не равен -1. и соответственно, надписи hello видно быть не должно.

Kolyaj 31.10.2011 12:23

Когда скрипт выполняется, элемента d1 ещё нет, скрывать нечего.

ksa 31.10.2011 12:25

Цитата:

Сообщение от renovatio1976
Тестирую. По условиям все проходит.

У меня нет iphone... :) Даже потестить не на чем...

Но вот такое (без условий), у меня везде работает...

<div id='d1'>
	Hello
</div>
<script type="text/javascript">
	document.getElementById("d1").style.visibility='hidden';
</script>

renovatio1976 31.10.2011 12:49

Так он у меня и так не работает:

<div id="d1">
Hello
</div>


<script type="text/javascript">  

var browser=navigator.userAgent.toLowerCase();  
var users_browser = ((browser.indexOf('iphone')!=-1);  

if (users_browser)  {  
	document.getElementById("d1").style.visibility='hidden';
}

</script>


При том, что users_browser (по алерту) равен 13.

renovatio1976 31.10.2011 12:58

пардон.


browser.indexOf('iphone') с айфона выдает значение 13.
browser.indexOf('iphone') из винды, выдает значение -1

renovatio1976 31.10.2011 13:00

соответственно, с айфона

var users_browser = ((browser.indexOf('iphone')!=-1);

users_browser = true.

Kolyaj 31.10.2011 13:17

У вас скобка одна лишняя во всех примерах, каким образом users_browser true получается?

trikadin 31.10.2011 13:18

Ахах, а вы что, с винды тестировали?)


Часовой пояс GMT +3, время: 16:43.