Опубликован: 19.03.2014 | Доступ: свободный | Студентов: 329 / 26 | Длительность: 11:36:00
Специальности: Программист
Лекция 4:

Использование локального HTML5 контента на мобильном устройстве

Ссылки для управления функциями мобильного устройства

Существует ряд схем, с помощью которых браузеры могут обращаться к функциям мобильного устройства.

Одним из таких стандартов является WTAI (Wireless Telephony Application Interface, интерфейс приложений беспроводной телефонии), входящий в стандарт WAP (созданный еще в прошлом тысячелетии). Библиотеки WTAI предусматриваются на мобильных устройствах и доступны для других приложений, таких как браузер. Для использования этих библиотек (если они доступны) применяйте следующий синтаксис:

wtai://имя_библиотеки/имя_функции [ (;параметр)*] .

Телефонный звонок

Не забывайте о том, что большинство мобильных устройств, помимо прочих функций, выполняют также функции телефона! Почему бы в таком случае не создавать ссылки для выполнения звонка? Если вы предлагаете пользователям бизнес-руководство, или даже телефонный справочник, большинство пользователей предпочтут выполнить звонок по ссылке, чем заполнять форму с помощью мобильного устройства. К счастью, существуют схемы, которые могут нам помочь. Первым стандартом де факто стала скопированная из японского стандарта i-mode схема tel: номер_телефона. Эта схема называется форматом i-mode:

<а href="tel:+79156505597">Звоню другу!</a>

Некоторые устройства также предоставляют возможность отсылать тональные сигналы после того, как на звонок ответит вызываемый абонент. Это позволяет использовать доступные в режиме тонального набора услуги, справочные системы или голосовую почту; вы можете, как бы сказать ссылке: "позвони по этому номеру телефона, когда ответит вызываемый абонент, набери цифру 2, подожди 2 секунды, а затем набери 913#". Для использования тонального набора разместите после номера телефона параметр postd, используя следующий синтаксис: postd=цифры. Можно использовать цифры, символы * и #, а также р для паузы в полсекунды и w для паузы с ожиданием тонального сигнала:

<а href="tel:+79123456789;postd=4">Звоню другу!</a>

Данная функция работает не на всех мобильных устройствах, однако на устройствах, не поддерживающих эту возможность, по крайней мере, должен выполняться набор телефонного номера. Если пользователь активирует звонок по ссылке, он увидит сообщение с предложением позвонить по указанному номеру телефона. Это делается с целью предотвращения мошенничества, когда пользователя обманным путем заставляют позвонить в другую страну или на платный номер телефона.

Отсылка SMS-сообщения

Многие пользователи мобильных устройств используют SMS-сообщения, именно поэтому мобильные браузеры обычно позволяют открывать по ссылке окно для создания SMS-сообщения. Для этого можно использовать одну из двух доступных схем: sms:// и smsto://. К сожалению, не существует стандартного способа выяснить, какую из этих схем поддерживает браузер пользователя.

Синтаксис выглядит следующим образом:

sms[to]://[номер_назначения] [?параметры]

Можно убедиться, что номер назначения является опциональным, поэтому можно открыть окно для создания SMS-сообщения, не определяя никаких параметров. Параметры обычно определяют тело сообщения, однако некоторые мобильные устройства не поддерживают эту возможность из соображений безопасности (например, чтобы предотвратить отсылку веб-сайтом платных SMS-текстов). Как и в случае электронной почты, после активации ссылки SMS-сообщение не отсылается автоматически. Ссылка просто откроет окно для создания SMS-сообщения, после чего пользователь должен будет завершить отправку сообщения вручную. Вот пара примеров:

<a href = "sms://"> Послать SMS </a>
<a href = "sms://+3490322111"> Контакт по SMS </a>

Добавление контакта в список контактов

Иногда полезно предоставить пользователю возможность добавить контактную информацию вашей компании (только номер телефона или полную информацию) в список контактов, чтобы он мог связаться с вами впоследствии. Для выполнения этой операции на старых устройствах и новых устройствах с поддержкой WML можно использовать специальную функцию стандарта WTAI. Прибегнув к уловке, эту же функцию можно будет применить и на современных (более "умных"?) устройствах. Данной функцией является функция ap библиотеки wp, той же библиотеки WTAI, которая используется для выполнения звонка по ссылке. В качестве первого параметра задается номер телефона; опционально через точку с запятой указывается связанное с этим номером имя. Например:

<а href="wtai://wp/ap;+12 024 5 61111;White%20 House"> 
 Add <strong>White House </strong>to contacts 
</a>

Пользовательские атрибуты данных

Для того чтобы разработчикам было проще использовать и изменять кодом JavaScript данные из HTML-элементов страницы, в HTML5 был добавлен новый тип атрибута для любого элемента - специальный пользовательский тип данных data-*. Этот тип обеспечивает новый способ хранения данных из заголовков, списков, текстов или любого другого контента страницы. Имя пользовательского типа состоит из двух частей: "data-" и любого произвольного набора символов, который отражает смысл данных. Например, вы можете так определить информацию в теге <div>:

<div id ="user" data-name="Татьяна Самойлова" data-city="Смоленск"
 data-language="JavaScript" data-child_name="Михаил">
 </div>

Использовать эту информацию страницы в JavaScript -коде можно, например, так:

// фрагмент кода JavaScript
var city=user.dataset.city // присвоит переменной значение "Смоленск"
user.dataset.language='Java' //заменит на странице "JavaScript" на "Java"
user.dataset. child_name = null //очистит данные на странице
Дмитрий Белов
Дмитрий Белов

Каким образом можно создать точку останова? Например, если в Лекции 8 в примере, который демонстрирует возможность <canvas> для работы с готовыми изображениями (последний в лекции) в цикле
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
sx = 300 * i; sy = 350 * j;
contextNow.drawImage(img, sx, sy);}
поставить точку останова, то при запуске отладки проекта точка становится пустой окружностью с сообщением: В настоящий момент попадание в точку останова не произойдет. Нет загруженных символов для этого документа. Как все-таки создать точку останова и пройти по шагам весь код?