问题
To speed up the load time of our site, we defer the loading of some scripts. This has been working fine until a couple of days ago. I've boiled the issue down to this short page of HTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js">
</script>
<script type="text/javascript">
//<![CDATA[
var scriptUrl = "http://ads.trafficspaces.net/v1.22/adservice.js";
jQuery
.getScript(
scriptUrl,
function () {
alert("I'm never called")
});
//]]>
</script>
</head>
<body>
</body>
</html>
It would appear that the script in question is served with a text/plain
content type. I'm not sure what it was before the weekend. Could this be the problem?
Looking in Fiddler, it appears the request is never made, but I can fetch it when I paste the URL into another tab. If I change scriptUrl
to one under my control, it works fine. What's going on?
回答1:
Check your addons/extensions and such, make sure that the ad script itself isn't being blocked by some other filter(ad blocker extension, proxy filter, etc).
It works for me, you can test it here - I'm testing in chrome with no ad blocker.
来源:https://stackoverflow.com/questions/4370716/getscript-stopped-working