Я встраиваю приложение через iframe на чей-то сайт, и мне нужно иметь возможность вызывать некоторые из их функций javascript. Ясно, что запуск top.cart.add () блокируется политикой того же происхождения. Мы исчерпали большинство наших возможностей, когда дело доходит до того, чтобы заставить их что-то настроить для нас, поэтому нам нужно попытаться обойти их. Кто-то упомянул, что установка записи CNAME может позволить нам выполнять междоменный javascript. Это возможно? Если да, то как это работает? Если нет, как бы вы порекомендовали мне подойти к этому?
Да, cname подойдет. Простая причина заключается в том, что браузер / java будет использовать директиву хоста, которая получается из имени хоста, введенного в адресной строке или указанного в коде веб-страницы, когда он вытягивает дополнительные объекты.
Принцип работы cname заключается в том, что он отвечает на запросы host1.domain1.com и отвечает другим DNS-именем, например host2.otherdomain.com, которое запрашивается преобразователем. Все это делается преобразователем и отдельно от того, что происходит с приложением / браузером, поэтому оно «прозрачно» (из-за отсутствия лучшего описательного слова прямо сейчас).
если веб-страница находится на www.foo.com, а ваше приложение - с www.bar.com, вы можете попросить их создать cname для bar.foo.com или чего-то еще, что указывает на www.bar.com. Единственное, что вам нужно сделать, это создать виртуальный хост на своем веб-сервере, который прослушивает foo.bar.com, а также www.bar.com - если вы используете vhosts.