我通过iframe将应用程序嵌入到某个站点,并且需要能够调用他们的一些
javascript函数.显然,运行top.cart.add()会被同源策略阻止.在让他们为我们设置一些东西时,我们已经用尽了大部分选择,所以我们需要尝试解决它们.有人提到让他们设置CNAME记录可以让我们执行跨域
JavaScript.那可能吗?如果是这样,那怎么办?如果没有,你会怎么建议我接近这个?
解决方法
是的,一个cname可以工作.简单的原因是浏览器/ java将使用host指令,该指令是从地址栏中输入的hostame获得的,或者当它提取其他对象时在网页的代码中指定的.
cname的工作方式是,它响应对host1.domain1.com的请求,并以另一个dns名称响应,例如host2.otherdomain.com,由解析器查询.这一切都是由解析器完成的,与app / browser的内容是分开的,所以它是“透明的”(因为现在缺少更好的描述性词).
如果网页位于www.foo.com,但您的应用程序来自www.bar.com,您可以要求他们为bar.foo.com创建一个cname,或指向www.bar.com.您需要做的唯一其他事情是在您的网络服务器上创建一个vhost来监听foo.bar.com以及www.bar.com – 如果您使用的是vhosts.