Я незнаком с поведением этого сафари. Поэтому я разрабатываю приложение React, в котором есть две страницы, одна из которых должна открываться из iframe, а другая должна открываться сама.
Пусть это будет https://sub.main.com/myApp/iframe и https://sub.main.com/myApp/landing.
Сначала я открою https://main.com/, которые содержат https://sub.main.com/myApp/iframe в качестве фрейма. тогда https://sub.main.com/myApp/iframe установит локальное хранилище для https://sub.main.com, скажем {City: "A"}
.
Затем я обновляю локальное хранилище на https://sub.main.com/myApp/landing, я заметил, что в локальном хранилище нет записи для https://sub.main.com, затем я создаю новую запись здесь, скажем, {City: "B"}
Когда я пытаюсь заново открыть https://main.com/, которые содержат iframe https://sub.main.com/myApp/iframe, я отметил, что значение 'city' для https://sub.main.com по-прежнему равно "A", но затем я открываю https://sub.main.com/myApp/iframe непосредственно в новой вкладке, и значение 'city' равно "B", syn c с https://sub.main.com/myApp/landing one.
Может кто-нибудь объяснить это поведение, как одно и то же локальное хранилище с адресом https://sub.main.com может отличаться при использовании в качестве iframe, а не? Кстати, я проверил, что это поведение не существует на chrome и firefox, как ожидаемое поведение, когда я изменяю значение хранилища в https://sub.main.com/myApp/landing соответствующих это значение также обновляется до iframe.
Также обратите внимание, что я не собирался изменять кросс-хранилище поддоменов, так как я обновляю локальное хранилище для https://sub.main.com а не https://main.com во всех сценариях.
Заранее спасибо, ребята, я несколько часов искал без результата, поэтому мне пришлось спросить.