设置cookie可通过跨域图像api访问
Set cookie accessible by cross domain image api
我有一些域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
页面上的脚本设置的
我在网上找到的解决方案涉及iframes和假图像标签与display:none
,实际上从第三方域名调用php脚本来设置cookie。
问题是我需要设置cookie客户端具有适当的高度和宽度信息。我不能使用php脚本来设置它,因为php脚本不知道高度和宽度。
是否有一些不涉及iframe或迂回解决方案的非黑客方法?谢谢!
有两个选项:
1)使用JavaScript更新img url,将高度和宽度信息作为图像url本身的查询参数,而不是依赖于cookie,例如:"/>
2)如果你必须使用cookie,那么如果你控制myapi.com,那么你可以旋转一个端点他们的客户端宽度和高度参数,并在响应返回set-cookie头。由于调用是对myapi.com进行的,浏览器将允许它为myapi.com设置cookie,并将其传递给对该域的后续调用,尽管您将无法从JavaScript访问此cookie,因为您不是在myapi.com
- Steam Web API:I'我不知道该如何处理这个看起来像哈希的url来生成图像
- 图像未加载javascript、html、angular、imdb-api
- Imgur API图像搜索未返回数据
- Google Places API显示雷达搜索中的位置图标/图像
- API让'你在编辑/操纵图像吗
- 我如何从一个无限滚动的网站抓取图像,其中api是隐藏的,我无法通过使用Inspect Element获得它->网络
- 从imgur api的另一个浏览器拖放图像
- 如何检索从桌面应用程序发送到Rails API的图像
- 使用Facebook的javascript api发布多部分/表单数据编码的图像
- Instagram API 未加载所有图像
- Google Map JS API-加载地图分幅,但所有图像(标记、缩放控制等)都不加载;t负载2分钟
- 如何通过js将二进制代码的验证图像从api转换为png
- HTML5文件API使用Ajax上传多个图像
- 谷歌地球Api改变图像对比度
- 是否可以调用Google API获取地图图像并将图像保存在某个位置
- 如何检查谷歌街景图像API是否返回没有图像
- 使用谷歌图像API
- 设置cookie可通过跨域图像api访问
- 我的laravel应用程序的预览/放大/缩放图像api
- 转换谷歌地图到图像没有静态图像api