Каков наилучший способ получить метку времени сервера, используя Firebase Cloud Firestore, Ionic Framework, Angular?

https://developer.mozilla.org/en/DOM/window.postMessage

window.postMessage ()

window.postMessage - это метод безопасного межсетевого обмена. Обычно сценарии на разных страницах разрешены только для доступа друг к другу, если и только если страницы, которые их выполняли, находятся в местах с одним и тем же протоколом (как правило, оба http), номер порта (80 по умолчанию для http) и хост (по модулю document.domain устанавливается обоими страницами на одно и то же значение). window.postMessage предоставляет управляемый механизм, чтобы обойти это ограничение способом, который является безопасным при правильном использовании.

Сводка

window.postMessage, при вызове, вызывает отправку MessageEvent в целевом окне, когда любой ожидающий сценарий, который должен быть выполнен, завершается (например, оставшиеся обработчики событий, если window.postMessage вызывается из обработчика событий, ранее заданных ожидающих таймаутов и т. д.). MessageEvent имеет сообщение типа, свойство данных, которое устанавливается в строковое значение первого аргумента, предоставленного window.postMessage, свойство origin, соответствующее началу основного документа в окне, вызывающем window.postMessage в окне времени. вызывается postMessage и свойство source, которое является окном, из которого вызывается window.postMessage. (Другие стандартные свойства событий присутствуют с ожидаемыми значениями.)

blockquote>

Библиотека iFrame-Resizer использует postMessage, чтобы сохранить размер iFrame до его содержимого, а также MutationObserver для обнаружения изменений в содержимом и не зависит от jQuery.

https://github.com/davidjbradshaw/iframe-resizer

jQuery: добросовестность междоменных скриптов

http://benalman.com/projects/jquery-postmessage-plugin/

Имеет демонстрацию изменения размера окна iframe ...

http://benalman.com/code/projects/jquery-postmessage/examples/iframe/

В этой статье показано, как удалить зависимость от jQuery ... Плюс имеет много полезной информации и ссылок на другие решения.

http://www.onlineaspect.com/2010/01/15/backwards-compatible-postmessage/

Пример Barebones ...

http://onlineaspect.com/uploads/postmessage/parent.html

HTML 5 рабочий проект на window.postMessage

http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages

John Resig о межсетевых обменах сообщений / / g29 ]

http://ejohn.org/blog/cross-window-messaging/

1
задан PPS 16 January 2019 в 06:11
поделиться

1 ответ

Вот простой способ сказать Firestore записать метку времени на стороне сервера в документ:

var ref = db.collection("54201787").doc("time");
ref.set({ timestamp: firebase.firestore.FieldValue.serverTimestamp() });

И вот как вы читаете это значение обратно в ваш клиент:

ref.onSnapshot(function(snapshot) {
  var timestamp = snapshot.data().timestamp;
  console.log(timestamp.toString());
})
[118 ] В этом последнем фрагменте переменная timestamp является объектом Date , поэтому вы также можете получить доступ ко всем другим его методам и свойствам.

Рабочий пример этого кода см. По адресу: https://jsbin.com/burimih/edit?html,js,console

.
0
ответ дан Frank van Puffelen 16 January 2019 в 06:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: