Хакерский междоменный идентификатор фрагмента больше не работает? - PullRequest
0 голосов
/ 07 июля 2010

Я вижу много ссылок: http://ajaxify.com/run/crossframe/

И я заметил, что теперь IFRAME (ребенок) больше не работает, чтобы изменить хэш родителей.

Я потратил несколько часов, пробуя разные вещи, задаваясь вопросом, почему это больше не работает - тогда я, наконец, понял, что пример, на котором я изначально основывал это, тоже потерпел неудачу.

Кто-нибудь может подтвердить?

-

-

Мне нужно использовать междоменный iframe , чтобы позаботиться о форме загрузки заказа, которую не поддерживает наша корзина, и мне нужна форма, чтобы вернуть идентификатор заказа родителю, чтобы Я могу связать данные между двумя серверами.

Буду признателен за любые рекомендации или указания.

Я не ищу ярлык или кого-то, кто мог бы выполнять мою работу. Я читаю весь день ... Мне просто нужно подтолкнуть в правильном направлении.

Спасибо!

1 Ответ

0 голосов
/ 07 июля 2010

Это частично зависит от браузера. Например, некоторые браузеры не позволяют вложенному дочернему фрейму (iframe внутри iframe) изменять фрагмент своего родителя. См. эту запись в блоге . Но основной функционал все еще работает в последних браузерах. Это демо , в котором iframe меняет своего родителя, и наоборот (одноуровневое) отлично работает в Firefox 3.5.9 и Chrome 5.0.375.99.

Демонстрация, которую вы дали, также работает в обеих версиях Firefox в обоих направлениях. Это не позволяет ребенку менять родителя в Chrome. Основное различие заключается в том, что рабочий использует parent.location, а сломанный - parent.window.location.hash.

Лучшее решение для последних браузеров - postMessage . При необходимости вы также можете использовать прокси-сервер.

...