jsonp如何拦截window.location.href;
问题: 使用 jsonp 获取接口数据时, 偶尔接口会返回 window.location.href = ***
然后页面直接跳转了
期待解决: jsonp 能否获取接口返回的文本, 这样我就可以判断内容是否有跳转来决定是否执行接口返回的js文本(eval)
尝试过的方法: 无法使用axios等XHR技术去请求接口, 因为接口是第三方提供, 有跨域无解, 我试着使用 new Image().src 去缓存, 但我该如何获取 jsonp 返回的文本呢
有了解的大佬烦请给个思路, 洒家有礼了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
试了一下,
Object.defineproperty
无法拦截window.location
,Location
的原型链也没有找到href
,感觉像是被保护起来了。剩下的方案就只有
iframe
,iframe
虽然也是直接跳转,但至少宿主页面不会被其location
影响。不过如果我是开发
JSONP
的人,我也会想到iframe
,顺便把window.top
也跳转了。但是值得一试。
这都什么年代了,如果第三方无法修改,直接自己这边加一个 Nginx 代理,给请求加上 CORS 头就可以了,几行 Nginx 配置的事情。