У меня есть то, что я считал простой проблемой. Я пишу пакет SCORM для внешнего учебного ресурса. Это в основном iframe на HTML-странице, который клиенты устанавливают в свою LMS (систему управления обучением).
Внешний ресурс должен иметь возможность сообщать СУО, что пользователь завершил контент. Поскольку LMS и ресурс находятся в разных доменах , очевидно, что стена безопасности JS мешает мне напрямую общаться. Поэтому, когда пользователь достигает конца содержимого, внешние ресурсы устанавливают свой URL-адрес для привязки, поэтому URL-адрес изменяется от http://url
до http://url#complete
.
Теперь я пытаюсь получить местоположение из фрейма, и у меня ничего не получается. Я пробовал iframe.location
и iframe.window.location
(.window тоже ничего). Я не могу понять, как правильно поступить.
iframe.src
показывает мне исходный URL источника, но он не изменяется при обновлении iframe до версии #complete
.
Есть советы? Есть альтернативы? Хотя я контролирую обе страницы, если нет метода javascript для установки междоменной связи, я не могу установить заголовок http, чтобы разрешить его, потому что я не контролирую сервер LMS - он просто выталкивает мою статическую страницу.
Редактировать: В качестве альтернативы я рассматриваю возможность сохранения завершенного события в сеансе (я думаю, что файл cookie тоже будет работать) в конце ресурса, а затем создание другой страницы, которая выводит это как JSONP заявление. Я думаю, что это было бы довольно легко сделать, но гораздо сложнее что-то, что должно быть простым. Мне буквально нужно щелкнуть один переключатель кода LMS с внешнего сайта.