javascript - 为什么 CURL JS 不加载我的 CSS 文件?

标签 javascript asp.net curljs

你好,我正在试验 CurlJS并且在大多数项目上都取得了成功。但是,出于某种原因,我仍然无法使用 CurlJS 加载 CSS 文件。 .

Firebug(网络选项卡)显示正在加载其 css.js 插件:我假设它用于加载 CSS 文件。 Firebug(控制台选项卡)显示来自 curl.js 文件的“a.load 不是函数”。

define.amd.curl

版本号是:"0.6.2"

我的问题是:为什么没有加载 CSS 文件?

我的代码看起来像:

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>

    <script type="text/javascript">
        curl =
        {
            baseUrl: '.',
            paths:
                {
                    curl: 'Scripts/Curl'
                    //,'css!':'Style' //<-- I even tried this with no success
                },
            pluginPath: 'Scripts/Curl/curl/plugin'
        };
    </script>

    <script src="Scripts/Curl/curl.js" type="text/javascript"></script>

    <script type="text/javascript">
        curl(['css!Style/Test.css'])
            .then(
            function (css) {
                if (css)
                    alert("It Works!");
            },
            function (error) {
                alert("It failed!");
            });
    </script>

</head>
<body>
    <form id="form1" runat="server">
        <div class="test" style="border: 1px solid black; text-align: center; width: 400px;">
            If the CSS loads this text will be RED.
        </div>
    </form>
</body>
</html>

控制台选项卡:
This is the screenshot from Firebugs Console

网络标签:
This is the screenshot from Firebugs Net

更新:
我“可以”使用以下 JavaScript 为给定模块加载 CSS 依赖项,但我更愿意使用 Curls 原生功能。

var head = document.getElementsByTagName('head')[0];
var files = ['/Style/Test.css']; //<-- my list of files
for (var i = 0, l = files.length; i < l; i++) {
    var link = document.createElement('link');
    link.href = files[i];
    link.rel = "stylesheet";
    link.type = "text/css";
    head.appendChild(link);
}

最佳答案

我发现您的代码片段存在一些问题:

  1. 成功回调的签名有两个参数($,css),但您只需要一个模块“Test.css”。
  2. 不要尝试通过脚本元素加载模块。那行不通。

鉴于显示的代码片段,我无法解释“a.load 不是函数”消息。一定有其他我看不到的事情在发生。

[在您发布屏幕截图后更新:] Firebug 屏幕截图中显示的一小段代码看起来像是 css.js 文件已被最小化/压缩。它并不意味着要单独最小化。使用 curl 的 make 实用程序构建带有 css 的 curl 版本!插件烘焙,或者在 curl/dist 中获取一个已经烘焙在 css 中的版本!插件模块。这应该可以解决问题。

关于javascript - 为什么 CURL JS 不加载我的 CSS 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10173997/

相关文章:

curljs - 相对路径和curl.js

coffeescript - 将 Coffeescript 类和 RequireJS(或 Curljs 或类似)用于客户端浏览器库的示例

javascript - html 表格如何通过更改悬停时的边框来突出显示列?

jquery - 使用 jQuery 就地编辑 ASP.NET 母版页

javascript - 记录没有 new 的构造函数

c# - 如何控制何时更新远程 iCal (.ics) 文件以及同步日历?

c# - 回发后如何将数据保留在通用列表中

requirejs - 对于 AMD 模块,何时(或为什么)可以在 define() 中使用 require()?

javascript - 将 JSON 对象连接到数组中

在没有 webdriver 的浏览器中自动测试 JavaScript