В Xamarin.Forms у нас есть свойства, называемые Application.Current.Properties. Используя это, мы можем сохранить любой тип данных. Поэтому, когда пользователь входит в приложение, вы можете установить один флаг и установить его в значение true. Затем каждый раз, когда пользователь входит в приложение, вы можете установить этот флажок и перейти на соответствующую страницу.
public App()
{
if (Current.Properties.ContainsKey("isLogged"))
{
if((bool)Application.Current.Properties["isLogged"])
{
// navigate to your required page.
}
else
{
// naviate to login page.
}
}
else
{
// naviate to login page.
}
}
При первом открытии приложения оно проверяет, присутствует свойство isLogged или нет, если нет, оно перейдет в логин стр. Когда пользователь входит в приложение, используя его учетные данные, нам нужно создать свойство isLoggin и установить значение true. Затем, если пользователь пытается войти в систему, он проверяет условие и переходит на соответствующую страницу.
Application.Current.Properties["isLogged"] = true;
await Application.Current.SavePropertiesAsync();
напишите код выше после входа в приложение. Если пользователь выходит из приложения, вам нужно установить флаг isLogged - false.
Вы уверены, что jQuery загружается? Попытайтесь отладить с предупреждениями как:
alert(typeof $);
Вы могли также попробовать другой синтаксис:
$(function() {
clearInterval(timer);
});
Хорошо, таким образом, из Вашего комментария, вышеупомянутое не помогает. "Объект ожидал, что" ошибка, кажется, происходит с синтаксической ошибкой, по моему опыту. Это - точный код, который Вы имеете? В противном случае Вы могли отправить его?
Я не думаю, что необходимо действительно опрашивать относительно элементов путем, Вы.
Готовое событие документа звонит, как только браузер загрузился достаточно, чтобы Вы смогли управлять страницей, таким образом, необходимо просто выполнить обработке DOM $(document).ready()
блок.
Я столкнулся с этой проблемой на своей машине, так как смог быстро найти решение. Вот что я сделал:
1. Отладил мой javascript с предложением nickf «alert (typeof $)» и получил предупреждающее сообщение «undefined»
2. Затем я полностью определил ресурсы моего скрипта jQuery.
3. Перезагрузите мою страницу и получили предупреждение «function»
Кстати, я использую IIS 5.1 на XP. Мой веб-сайт настроен на использование «сопоставления с подстановочными знаками» для получения информации об инфраструктуре asp.net mvc Я думаю, что эта конфигурация вызвала неработающие ссылки.
Для получения дополнительной информации о том, как настроить MVC на старых версиях IIS, посмотрите пост Фила Хаака: http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx
Вы могли попробовать старый skool способ проверить, "готов" ли документ... Поместите сценарий непосредственно перед закрытием </тело> тег - я полагаю, что это имеет тот же эффект как 'готовое' событие jQuery - на самом деле, это - вероятно, более быстрое выполнение его этот путь.
По моему опыту, "Object ожидал, что" ошибка в IE6 обнаруживается из-за синтаксической ошибки - стоит поместить сценарий, хотя JSlint, если Вы уже не имеете...
У меня было такое же вопрос тоже в прошлом. Это была спорадическая проблема, и ее было ужасно воспроизводить.
Решение, которое я нашел, состояло в замене $ (document) .ready (function () {...});
на jQuery (function () {...})
, и это сработало как шарм!
Перемещение $ (document) .ready (function () {...});
в bottom не работает для моего варианта использования.
Комментарии в этой публикации невероятно полезны (где я впервые прочитал о том, как это сделать)
$ (document) .ready () сообщает вам, когда доменное имя готово, но не все ресурсы обязательно готовы.
Если вы хотите убедиться, что все ресурсы действительно есть загрузка завершилась, используйте вместо нее $ (window) .load () . Чаще всего это используется, чтобы убедиться, что изображения загружены, но это также может сработать и для вашей проблемы со скриптом.
Если он находится в элементе сценария, который находится в вашем элементе body, (т. Е.) ..
Причиной могут быть атрибуты, которые вы передаете с скрипт-тег. Если это так:
<script type="text/javascript">...</script>
IE6 может выдать ошибку. Вы должны использовать
<script language="javascript">...</script>
, тогда ошибка исчезнет.
Просто несколько указателей для тех, кто интересуется:
$(document).ready(function() {...});
и $(function() {...});
означают совершенно одно и то же. Последнее является сокращением для первого.
Если вы разрабатываете для большого сайта, используя несколько библиотек Javascript, или разрабатываете плагины, предназначенные для совместимости с чужими работами, вы не можете доверять знаку доллара ($), связанному с объектом jQuery. На всякий случай используйте следующую нотацию:
(function($) { [your code here] })(jQuery);
Это передает jQuery в самоисполняющуюся функцию и связывает $ с объектом jQuery внутри этой функции. Тогда не имеет значения, что представляет $ вне вашей функции.
Чтобы вернуться к вашему вопросу, проверьте, назначена ли переменная таймера, когда вы получаете ошибку? Я полагаю, что браузер увидит $(document).ready(function() {...});
как одну строку, так что если у вас есть какой-то отладчик, который говорит вам, что именно эта строка выдает ошибку, это может быть переменная таймера...
И последнее: в Javascript неправильно размещать открытые фигурные скобки на новой строке. Это может привести к очень плохим ошибкам из-за вставки точки с запятой в Javascript. Более подробную информацию можно найти в книге Дугласа Крокфорда "Javascript: The good parts:
В любом случае, надеюсь, я никого не расстроил. Надеюсь, вы решите проблему!
EDIT: Я не уверен, что robertz имел в виду именно это, но, насколько я знаю, когда URL полностью квалифицирован, это означает, что никакие части не отсутствуют, т.е. это абсолютный URL, начинающийся с http:// или https:// (или какого-то другого протокола). Пожалуйста, поправьте меня, если я ошибаюсь!
Если у кого-то есть такая же проблема, вы должны увидеть, если при вызове своих javascript-сценариев у вас есть type = "application / javascript"
, я устраняю это, и это было исправлено, я думаю, что это какая-то проблема с IE и типом Thing