Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2014, 10:35   #1
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,603
По умолчанию JavaScript в PhoneGap не работает

Всем привет. Мне нужно сделать не очень сложное приложение под iOS и Android. Т.к. это нужно сделать быстро, я выбрал PhoneGap. Наваял приложение, скомпилировал, а оно не работает на устройстве. Т.е. сайт в браузере функционирует, а так, нет. Код элементарен:
Код:
<!DOCTYPE html>
<html lang="ru">
	<head>
		
		
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		
		<style type="text/css">
		body
		{
			margin   :0;
			padding  :0;
		}	
		.divs
		{
			position   :absolute;
			left       :0;
			top        :0;
			width      :100%;
			height     :100%;
			visibility :hidden;
			background-color: gray;
		}
		</style>
		
		<script type="text/javascript">
			function ShowDiv(id_element, target=0)
			{
				if (target != 0)
				{
					document.getElementById(target).style.visibility="hidden";
				}
				document.getElementById(id_element).style.visibility="visible";								
			}
			/*var windowWidth = window.innerWidth;
			var windowHeight = window.innerHeight;
			var pixelRatio = window.devicePixelRatio || 1; 
			
			canvasMain = document.getElementById("canvasSignatureMain");
			
			canvasMain.width = windowWidth * pixelRatio;   /// resolution of canvas
			canvasMain.height = windowHeight * pixelRatio;
			
			canvasMain.style.width = windowWidth + 'px';   /// CSS size of canvas
			canvasMain.style.height = windowHeight + 'px';
		*/</script>
		
		
	</head>
	
	<body onLoad="ShowDiv('first_present', 0)">
		
		
	    <div onClick="ShowDiv('second_present', 'first_present')" class="divs" id="first_present" style="border: 2px solid black; ">
			<center>Заголовок 1<br />
			<h2>Текст 2</h2><center>
	    </div>
	    
	    <div class="divs" id="second_present" style="border: 2px solid black;">
			<center>
				Заголовок 2<br />
			    <h2>Текст 2</h2>
			<center>
	    </div>
	    
	    
	</body>
</html>
Тупо белый экран. В браузере появляется первый див, и при щелчке меняется на второй. В чем косяк?
P.S. ого как он код растянул. Это видать из-за табов, которые geany ставит.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 09.11.2014, 18:56   #2
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,603
По умолчанию

Фишка в том, что веб-кит сильно придирается к ошибкам. После строки
Код:
function ShowDiv(id_element, target=0)
он не отображает страницу, ибо переменной начальные значения в JavaScript задавать нельзя.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 11.11.2014, 15:50   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Цитата:
ибо переменной начальные значения в JavaScript задавать нельзя.
Это с какой-то стати нельзя?
Код:
var i = 0, j = 0, k = 0, o = 3534543, lo = "sdgdgdfgdgfd";
Параметрам функций нельзя.
Человек_Борща вне форума Ответить с цитированием
Старый 12.11.2014, 16:47   #4
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,603
По умолчанию

Цитата:
Параметрам функций нельзя.
Ну да, я это и хотел сказать. Бывают в жизни огорчения

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 12.11.2014, 19:07   #5
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от _PROGRAMM_ Посмотреть сообщение
Ну да, я это и хотел сказать. Бывают в жизни огорчения
Что мешает записать так?
Код:
function ShowDiv(id_element, target) {
  var target = target||0;
  // ...
};
Далеко не во всех языках есть стандартные значения функций "из коробочки", где-то что-то другое сложнее.
JS офигенен и то, что нельзя в нем достичь способами как *в моем любимом языке* не делает его каким-то там ущербным.
Попробуйте промапить массив на PHP до какой-то там версии... или на каком нибудь языке повторите финт руби, поменять значение переменных местами:
Код:
 a,b = b,a
п.с. вот единственное, чего мне не хватает в js, дак это препоиск в регулярках...
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
страница с javascript не работает в IE но работает в chrome/ff warwarwar Фриланс 0 13.07.2013 12:10
не работает javascript в internet explorer 9 warwarwar JavaScript, Ajax 3 04.03.2013 08:32
Не работает JavaScript в IE до 9-го alex4321 HTML и CSS 1 22.11.2012 02:43
Как работает JavaScript-библиотека? mimm HTML и CSS 2 26.10.2012 07:00
Не работает javascript в WebView на версии 4.0.3 Mariya_1 Помощь студентам 0 24.08.2012 13:30