你好,我正在试验 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>
控制台选项卡:
网络标签:
更新:
我“可以”使用以下 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);
}
最佳答案
我发现您的代码片段存在一些问题:
- 成功回调的签名有两个参数($,css),但您只需要一个模块“Test.css”。
- 不要尝试通过脚本元素加载模块。那行不通。
鉴于显示的代码片段,我无法解释“a.load 不是函数”消息。一定有其他我看不到的事情在发生。
[在您发布屏幕截图后更新:] Firebug 屏幕截图中显示的一小段代码看起来像是 css.js 文件已被最小化/压缩。它并不意味着要单独最小化。使用 curl 的 make 实用程序构建带有 css 的 curl 版本!插件烘焙,或者在 curl/dist 中获取一个已经烘焙在 css 中的版本!插件模块。这应该可以解决问题。
关于javascript - 为什么 CURL JS 不加载我的 CSS 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10173997/