It appears this code will request the file in Chrome and IE but not in Firefox.
Are you setting the content type. Guessing .NET here so posting basic idea:
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/javascript";
context.Response.Write("alert('hello world');");
}
}
The canonical way to specify script is
<script src="something.js" type="text/javascript"></script>
or
<script src="somethingThatWilReturnJavaScriptMime.someextension" type="text/javascript"></script>
There is no reason the browser should load unknown mime into a script tag and it will be strictly browser specific whether or not it will allow/ignore the type attribute
It would be a matter of testing to see what the browser will do if you actually send
content-type:text/javascript
regardless of type attribute
Is there a some spec that says browsers should only process JavaScript related mime-types?
See the type attribute:
This attribute gives an advisory hint as to the content type of the content available at the link target address. It allows user agents to opt to use a fallback mechanism rather than fetch the content if they are advised that they will get content in a content type they do not support.
If you want to fetch arbitrary content for use in a script, use XMLHttpRequest.