【问题标题】:Difference between asp-fallback-test-property vs asp-fallback-testasp-fallback-test-property 与 asp-fallback-test 之间的区别
【发布时间】:2018-12-26 13:27:41
【问题描述】:

我试图弄清楚 asp-fallback-test-property 和 asp-fallback-test 之间的区别,两者都使用该属性来确定是否回退。是一样的还是有区别的

下面的链接没有回答差异并且令人困惑。

https://github.com/aspnet/Mvc/issues/1580

【问题讨论】:

  • 这不是this的复制品吗?
  • 不,它没有谈论 asp-fallback-test-property,它只是触及它,我不确定我是否从答案中理解

标签: javascript asp.net-core


【解决方案1】:

asp-fallback-test-property 特定于 link 标记助手。它是您要询问的 CSS 属性的名称,asp-fallback-test-value 是您希望它具有的值(请参阅我之前写的 answer 了解详细信息)。

asp-fallback-test 特定于 script 标记助手。它只是一个将被评估的 JavaScript 表达式 - 如果它是真实的,则不会使用回退。

作为asp-fallback-test 的示例,想象以下script 标签:

<script src="/some/cdn/to/jquery"
    asp-fallback-src="~/local/path/to/jquery"
    asp-fallback-test="window.jQuery"></script>

在本例中,当浏览器尝试从/some/cdn/to/jquery 加载脚本后,标签助手将检查window.jQuery 是否为真。如果是,那就没有什么可做的了。如果不是(无法下载 CDN 脚本),它将为~/local/path/to/jquery 注入一个script 标签。

【讨论】:

  • 嗨@kirk-larkin 你能解释一下window.jQuery是如何在这个例子中变得真实的吗?这是否意味着脚本文件必须在文件的某处出现 window.jquery?
  • @ConsoleLog 是的,没错。在浏览器的开发者工具中打开此站点,打开控制台并输入!!window.jQuery。你会看到那是true。 jQuery 脚本将jQuery 属性添加到window。如果脚本没有加载,它不会设置属性,所以!!window.jQuery 将显示false
  • 因此,如果我们为多个文件实现后备,我们必须为每个脚本找到唯一的“方法”,我这样想对吗?干杯!
  • @ConsoleLog 是的,对于 jQuery,它是 window.jQuery,但是对于例如lodash 将是 window._。每个库都将自己的“事物”添加到 window - asp-fallback-test 对于每个库都不同。
猜你喜欢
  • 2020-10-23
  • 1970-01-01
  • 2019-10-02
  • 2016-03-03
  • 1970-01-01
  • 2022-11-06
  • 2014-04-28
  • 2018-12-24
相关资源
最近更新 更多