【问题标题】:the HTML script tag and non-JS content - FirefoxHTML 脚本标签和非 JS 内容 - Firefox
【发布时间】:2023-03-25 22:15:01
【问题描述】:

此代码似乎会在 Chrome 和 IE 中请求该文件,但在 Firefox 中则不会。

<script type="text/my-custom-mime-type" src="test.ashx">
</script>

是否有一些规范规定浏览器应该只处理与 JavaScript 相关的 mime 类型? 我知道 IE 可能支持这一点,因为 vbscript 的历史。

一旦您下载了这样的“内容”,您如何才能访问它? JavaScript/jQuery/?有办法解决这个问题。

更新 所以有2个部分需要质疑。听起来像第一部分 - 浏览器将下载它将下载的内容,我想根据到目前为止的答案,您无能为力。

示例:
&lt;script type="text/xml-script"&gt;
&lt;page xmlns="http://schemas.microsoft.com/xml-script/2005"&gt; &lt;components&gt;
&lt;application load="page_load" /&gt;
&lt;/components&gt;
&lt;/page&gt;
&lt;/script&gt;
&lt;/pre&gt;

这是来自 Microsoft 声明性 MSAjax 技术的 sn-p。你能从外部文件中提取这个吗?注意:我不是在这里尝试使用 MSAjax,但它是用于脚本标记的自定义类型的一个很好的例子。

第 2 部分 - 如果“内容”下载了,您可以访问文本吗?例如,假设它的 JavaScript - 你能在文本框中显示它吗? (没有明确的 Ajax 调用)?

【问题讨论】:

  • 什么代码?请发布一个正确的例子
  • 题主没看懂,能否举个例子或者详细说明一下?
  • 如果是 javascript,为什么不这样声明它?如果不是 javascript,你希望 Firefox 用它做什么?
  • 我希望 Firefox 能够加载内容,但如果它不熟悉 mime 类型,则什么也不做。
  • 是的,我想我开始明白你想要做什么了。我原以为你想要做的是让你的 test.ashx 返回一些可读的 javascript(例如 JSON)。你愿意改变 test.ashx 的输出吗?如果它是固定的,你能告诉我们它输出的东西吗?

标签: javascript jquery html firefox scripting


【解决方案1】:

您是否在设置内容类型。在这里猜测.NET所以发布基本想法:

public class Handler : IHttpHandler {
    public void ProcessRequest (HttpContext context) {
         context.Response.ContentType = "text/javascript";
         context.Response.Write("alert('hello world');");
    }
}

【讨论】:

  • 抱歉只是以 ashx 为例。可以是任何文件扩展名。这就是我在 .NET 中生成非页面内容的方式。但脚本甚至可能是静态文件。只是想知道它是否可能。
【解决方案2】:

指定脚本的规范方法是

<script src="something.js" type="text/javascript"></script>

<script src="somethingThatWilReturnJavaScriptMime.someextension" type="text/javascript"></script>

浏览器没有理由将未知的 mime 加载到脚本标签中,它是否允许/忽略 type 属性将严格取决于浏览器

如果你真的发送了浏览器会做什么,这将是一个测试问题

内容类型:文本/javascript

无论类型属性如何

【讨论】:

  • 我发送的内容类型无关紧要。我不想发送文本/javascript
【解决方案3】:

是否有一些规范规定浏览器应该只处理与 JavaScript 相关的 mime 类型?

type attribute

此属性提供有关链接目标地址处可用内容的内容类型的建议提示。它允许用户代理选择使用回退机制,而不是在被告知他们将获取他们不支持的内容类型的内容时获取内容。

如果您想获取任意内容以在脚本中使用,请使用 XMLHttpRequest。

【讨论】:

  • +1 用于实际回答问题。现在我很好奇 OP 想要做什么......
  • 原始海报。将第一条消息发布到邮件列表、Usenet 组或其他论坛上的主题的人的传统术语。
  • 每天学习新东西
  • @jtbandes 这已经很老了,但我不知道混乱是什么。 OP 正在尝试加载一些客户端 Atlas xml 脚本,并且不希望 XML 污染页面(或者可能希望它具有不同的缓存策略),因此尝试从外部源加载它。 (编辑:我明白了,这是在对问题进行编辑前 20 分钟发布的。解释代表遇到此问题的任何其他人)
猜你喜欢
  • 2011-10-31
  • 2018-11-27
  • 1970-01-01
  • 2014-02-21
  • 1970-01-01
  • 2015-08-08
  • 2013-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多