检查用户是否阻止了第三方域
Check if user is blocking 3rd party domain
我遇到了一个问题,我们的很多支持电话都是关于我们的图像无法加载的,因为用户阻止了Amazon S3或类似的第三方服务。 我使用第三方服务来托管图像,视频和一些javascript。 有没有办法通过javascript检测客户端是否阻止了域,以便我们显示消息而不是让用户联系支持人员?
$.ajax 'http://aws.amazon.com/s3/',
type: 'GET',
dataType: 'html'
complete: (e, xhr, settings) ->
if e.status == 200
console.log "Not Blocking S3"
else
console.log "Blocking S3"
根据评论,我进行了尝试,但仍然不起作用。 当我没有块时,它会返回阻塞。
上面的示例 coffeescript 代码不起作用,因为我认为会发生安全错误,因为它正在不同的域上执行 ajax。 Firebug 以红色显示请求,但显示 200。 e.状态返回 0。
从要检查的域加载图像。
<img id="checkImg" src="https://www.google.com/images/srpr/logo3w.pngAAA" />
只是一个常规的图像标签(请注意末尾的AAA
使其不起作用)。然后,您可以检查图像的宽度以查看它是否加载。
if(document.getElementById('checkImg').clientWidth != 275)
alert("Error")
谷歌徽标的宽度为275px,但错误图像(至少在Chrome中)仅为18px。因此,如果图像不是 275px 宽,我知道它没有加载。
演示
相关文章:
- 从远程脚本获取用户IP
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- d3基于用户选择动态更新节点
- 同步调用,直到用户通过angular验证为访问者
- 使用javascript搜索具有用户输入的数组
- 如何使用jquery确定用户是否年满18岁
- Meteor-添加用户自定义字段的方法不起作用
- React Native通过Navigator将用户输入数据传递到选项卡栏IOS中的组件
- 跟踪用户点击Adsense广告的IP地址
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 使用javascript反复检查用户在facebook上的登录状态
- 检查用户是否阻止了第三方域
- 通过小部件设置第三方cookie,这样我以后就可以识别用户了
- 使用第三方Oauth提供程序对API的用户进行身份验证
- 检查用户是否安装了第三方Chrome扩展
- Meteor:为第三方用户创建添加字段
- 如何获得用户's来自代码背后第三方的客户端IP
- 通过第三方web应用程序'用户帐户配置文件实现安全的社交媒体访问
- 使用第三方web应用程序的facebook graph API向facebook用户配置文件添加事件
- 如何提取用户名从第三方社会登录通过用户帐户包