Javascript 为什么要使用img元素来请求非图像URL?
在被要求调查页面加载缓慢的问题后,我在HTML中注意到:Javascript 为什么要使用img元素来请求非图像URL?,javascript,jquery,html,json,Javascript,Jquery,Html,Json,在被要求调查页面加载缓慢的问题后,我在HTML中注意到: <img src="/ajax?action=askedAboutCookies" style="display:none" width="0" height="0" alt="" /> 当页面加载时,它显然会发出请求,但它不会返回,只是等待直到超时 URL/ajax?action=askedAboutCookies实际上指向一个不返回图像的servlet,它(在工作时)返回JSON(一个非常基本的对象,返回一个布尔值)
<img src="/ajax?action=askedAboutCookies" style="display:none" width="0" height="0" alt="" />
当页面加载时,它显然会发出请求,但它不会返回,只是等待直到超时
URL/ajax?action=askedAboutCookies
实际上指向一个不返回图像的servlet,它(在工作时)返回JSON(一个非常基本的对象,返回一个布尔值)
为什么会有人这样做?我们所有的页面都使用jQuery,所以我认为使用Ajax便捷的方法进行任何类似的调用是最容易的?他们只是通过ping服务器来跟踪用户。如果启用了XMLHttpRequest对象或启用了JavaScript,则不必担心。只有当图像被禁用时,这种类型的调用才会失败。它们只是ping服务器以跟踪用户。如果启用了XMLHttpRequest对象或启用了JavaScript,则不必担心。只有当图像被禁用时,这种类型的呼叫才会失败。我在另一个场景中看到过这种情况,但是在电子邮件中。这是一种知道谁读电子邮件的方法,但我不明白他们为什么会把它放在普通页面上,而不是做一个普通的请求。我在另一个场景中看到过这一点,但在电子邮件中。这是一种知道谁读了电子邮件的方法,但我不明白他们为什么会把它放在一个普通页面上,而不是做一个普通的请求。在这种情况下,你认为一个更可接受的方法是将img元素包装在
noscript
中吗?然后我们可以让脚本执行其他调用,并使用连接超时等?为什么服务有问题?这将是我要回答的第一个问题。第二,我们是否只想通过这种方式跟踪禁用JavaScript的人?这是一个业务决策。在这种情况下,您认为更可接受的方法是将img元素包装在noscript
中吗?然后我们可以让脚本执行其他调用,并使用连接超时等?为什么服务有问题?这将是我要回答的第一个问题。第二,我们是否只想通过这种方式跟踪禁用JavaScript的人?这是一个商业决定。