我有许多域lorem.com
,ipsum.com
和dolor.com
等。他们都通过中央图片API myapi.com
访问图片。我需要myapi.com
才能知道请求客户端的屏幕大小和宽度。我正在考虑使用类似于此处描述的解决方案:https://css-tricks.com/server-side-mustard-cut/
TLDR:一个小的javascript函数找出屏幕的宽度和高度,然后将其保存到cookie中。对图像api的请求应该在标题中包含该cookie,以便服务器可以计算出要发回的图像的大小。
问题是这是跨域的。 lorem.com
有一个图片代码<img src="http://www.myapi.com/image1" />
,但Cookie不会包含在该请求中,因为它是由lorem.com
我在网上找到的解决方案涉及使用display:none
的iframe和假图像标签实际上从第三方域调用php脚本来设置cookie。
问题是我需要在cookie客户端设置适当的高度和宽度信息。我无法使用php脚本来设置,因为php脚本不知道高度和宽度。
是否有一些非hacky方式可以解决这个问题,而不涉及iframe或迂回解决方案?谢谢!
答案 0 :(得分:0)
这里有两个选项:
1)使用JavaScript更新高度和宽度信息的img url,作为图像url本身的查询参数,而不是依赖cookie例如“/>
2)如果必须使用cookie,比如果你控制myapi.com以及则可以旋转的端点其内搭客户端的宽度和高度PARAM以及响应返回set-cookie头。由于呼叫到myapi.com发,浏览器会让它设置myapi.com的cookie,它会传递给后续调用该域,虽然你会因为你没有在myapi运行不能访问从JavaScript这个cookie。 com