[英]Javascript detect which host it was loaded from
我有一个正在使用的Javascript库。 它可以是自托管的,也可以从其他服务器运行。 该脚本进行了许多AJAX调用,首选方法是向包含页面的同一主机发出POST请求。 为了允许跨域调用,它还支持JSONP,但这限制了可以发送的数据量(〜2K以安全地容纳大多数现代浏览器的URL长度限制)。
显然,包括脚本的用户知道他们从哪里获得的,并可以根据需要手动选择JSONP,但是为了简化操作,我想在脚本本身内检测脚本是否从同一脚本加载。主机作为包含或不包含该页面的页面。
我可以使用jQuery捕获脚本元素,但是执行$('script')。attr('src')仅返回相对路径(例如,“ / js / my-script.js”而不是“ http:/ /hostname.com/js/my-script.js “),即使它是从其他主机加载的。
这可能吗?如果可以,我将如何处理呢?
提前致谢。
不要使用JSONP,请使用CORS标头。
但是,如果您真的想执行JS检查,请使用var t = $('script')[0].outerHTML
。
对我页面的影响: [20:43:34.865] "<script src="http://www.google-analytics.com/ga.js" async="" type="text/javascript"></script>"
检查location.host
应该可以解决问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.