首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FF 2.0.x中的Scriptaculous参数

FF 2.0.x中的Scriptaculous参数
EN

Stack Overflow用户
提问于 2009-03-30 15:14:36
回答 1查看 1K关注 0票数 1

大家好,

我试图使用以下代码显式地将effects.js和builder.js脚本库加载到页面上:

代码语言:javascript
复制
<script type="text/javascript" src="/javascripts/scriptaculous.js?load=builder,effects"></script>

这就像FF 3.0.x、IE7和Opera 9.6.x中的魅力。但是,它在Firefox2.0.x中不起作用。图书馆永远不会被载入。为了让它们在FF 2.0.x中加载,我必须使用两个额外的标记显式地引用它们,即:

代码语言:javascript
复制
<script type="text/javascript" src="/javascripts/scriptaculous.js?load=builder,effects"></script>
<script type="text/javascript" src="/javascripts/builder.js"></script>
<script type="text/javascript" src="/javascripts/effects.js"></script>

有没有人碰巧知道FF2.0和3.0之间的差异是导致这种行为的原因呢?我的问题有更好的解决办法吗?

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

发布于 2009-03-30 15:58:49

我今天喝的咖啡太多了,所以我想我还是试试吧。

一种可能的情况是,scriptaculous.js中的load函数没有正确地进行处理以包含作为参数(scriptaculous.js?load=builder,效果传递给它的库)

尝试输入一个警告,看看scriptaculous.js中的load函数是否被输入,如果是,那么进程可能没有完成它在FF2上应该做的事情:

代码语言:javascript
复制
load: function() {
    alert('In the load function!');
    ...rest of code here...

如果不是,那么(可能) firefox 2不想执行load。

load的最后一部分似乎完成了包含其他库的工作:

代码语言:javascript
复制
$A(document.getElementsByTagName("script")).findAll( function(s) {
      return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/))
    }).each( function(s) {
      var path = s.src.replace(/scriptaculous\.js(\?.*)?$/,'');
      var includes = s.src.match(/\?.*load=([a-z,]*)/);
      (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider,sound').split(',').each(
       function(include) { Scriptaculous.require(path+include+'.js') });
    }); 

从上面的代码中,我可以看到包含的变量应该解析出库名,看看是否分配了任何内容,将其替换为如下所示:

代码语言:javascript
复制
var includes = s.src.match(/\?.*load=([a-z,]*)/);
alert(includes[0] + ' ' + includes[1]);

这应该能让你更好地了解到底发生了什么。虽然这是一个有趣的小问题,但我绝对同意您提出的解决方案:

代码语言:javascript
复制
<script type="text/javascript" src="/javascripts/scriptaculous.js"></script>
<script type="text/javascript" src="/javascripts/builder.js"></script>
<script type="text/javascript" src="/javascripts/effects.js"></script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/697647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档