检测来自外部域的资源是否在用户端加载


Detect if a resource from an external domain loads at the users end

我完全不知道这是否可能,但我想尝试一下。

我想能够检测到如果一个文件加载到我的网站,正在从另一个位置调用。我能提供的最好的例子如下:

我可以编辑我的计算机主机文件来阻止特定的域名。如果我阻止了external.com,而mysite.com使用了external.com的资源,这些资源将无法加载。

所以我想知道,如果有任何方法,我可以检测天气任何或所有的资源从external.com正在加载时,用户访问我的网站,如果可能的话,设置一个动作,重定向任何用户有external.com阻止。

你不能检测到某些东西是否被特别阻止-但是你可以通过将onload事件附加到元素来检查它是否成功加载:

HTML:

<element onload="doSomething()" />
在Javascript:

object.onload = function(){ //Do Something };

在Javascript中附加一个事件监听器:

object.addEventListener( 'load', doSomething() );

我建议也许你的'doSomething()'函数可以在特定资源加载时设置一个标志,然后你可以用另一个函数检查这些标志,如果缺少任何东西,你可以采取任何你认为适当的行动。

唯一的问题是——关于你最初的问题——你不能假设他们阻止了blah.com的资源…只有blah.com的资源加载失败