在我永恒的内部斗争中,是否留下mootools或跳转到jQuery我在jQuery文档中找到了引起我注意的东西,这就是jQuery可以向不同的域请求JSON,这通常是浏览器禁止的.
我已经看到了跨域的一些变通方法,但从来没有跨域,我真的很兴奋,首先我认为我是服务器相关的但是尝试了一点点我已经看到从jQuery做同样的JSON请求关于Mootools的文档不起作用!
这适用于jQuery:
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
function(data){
$.each(data.items, function(i,item){
$("<img/>").attr("src", item.media.m).appendTo("#images");
if ( i == 3 ) return false;
});
});
Run Code Online (Sandbox Code Playgroud)
这不是Mootools:
var jsonRequest = new Request.JSON({url: "http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?", onComplete: function(person, responseText){
alert(responseText);
}}).get({});
Run Code Online (Sandbox Code Playgroud)
我该如何复制这种行为?是什么导致的?
jQuery Doc:http: //docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback Mootols Doc:http://mootools.net/docs/Request/Request.JSON
我正在使用iCarousel处理这个旋转木马的事情.使用MooTools,它可以很好地处理一些图像.然而,当我添加70张图片(每张约30k)时,它停止了工作.花了一些时间在iCarousel的代码中探索它看起来相当不错和稳定.所以这让我思考:脚本固有的问题(在overflow:hiddendiv中设置div的动画),MooTools,Ubuntu上的Firefox还是JavaScript无法处理太多?如果是这样,多少钱太多了?
我想这很难说,但是知道什么时候JavaScript会变得迟钝和无法使用,最好是在开始开发之前.
我在使用AJAX(iFrame)上传文件后想要访问的MooTools类中有一个方法.iFrame页面在加载时运行的Javascript应该调用Class的方法,但我无法使用以下任何方法访问它:类名:Main var class已初始化为:myMain
parent.window.myMain.myMethod parent.window.Main.myMethod
这甚至可能吗?如果是我该怎么做?
是否有任何在线实用程序将jquery语法转换为mootools语法?
有没有将jquery转换为mootools的指南?
好吧,就像其他一切IE8正在给出一些严重的问题.当试图将MooTools加载到浏览器IE8时,只是给出了"发生安全问题"错误.我认为它可能与文件冲突或某些事情有关,但我似乎无法弄明白.这是一个网址,您可以自己查看.
http://www.tylermorriswoodworking.com/pages/recipe-box-wizard?b=maple&l=cherry&c=42042892
每个其他浏览器加载正常,奇怪的是其他页面加载MooTools和我的其他JavaScript文件就好了.怎么了!!
谢谢,泰勒
我创建了一个小示例HTML页面,以使JQuery的getJSON方法正常工作.它看起来像下面(对不起,这只是一个概念证明,然后加入一个更大的项目):
<script type="text/javascript">
function test() {
$.getJSON("http://api.flickr.com/services/rest/?&method=flickr.people.getPublicPhotos&api_key=e999b3a5d47d013b780e8ac255c86266&user_id=24579658@N03&format=json&jsoncallback=?",
function(data){
$.each(data.photos.photo, function(i,photo){
$("<img/>").attr("src", "http://farm5.static.flickr.com/" + photo.server + "/" + photo.id + "_" + photo.secret + ".jpg").appendTo("#images2");
//alert();
if ( i == 6 ) return false;
});
});
Run Code Online (Sandbox Code Playgroud)
}
然后我会在点击某些内容时调用该方法
<script type="text/javascript">
$(function() {
$("#yo").click(test);
});
</script>
Run Code Online (Sandbox Code Playgroud)
这在一个项目中运行良好,其中包含的唯一JS是JQuery,这些是唯一的功能.但是,一旦我将它添加到我的其他项目中,它就会出错.另一个项目包括一些mootools库,我认为可能已经这样做了.然而,即使在完全删除了mootools之后,只使用了这个jquery的东西,我仍然会得到以下错误:
ReferenceError:$未定义
我确实包含了其他javaScripts,例如谷歌和其他一些我已经制作的,但他们不使用JQuery或Mootools.谁能解释为什么我会收到这个错误?
我对mootools有点新意,但我知道在jQuery中你可以有更多的那个函数(在多个文件中):
$(document).ready(function() {
// put all your jQuery goodness in here.
});
Run Code Online (Sandbox Code Playgroud)
但你能用mootools做类似的事情吗?
我已经有了一个window.addEvent( "domready", function() {已经在我的页面中,我真的不想完全改变那段代码,但我希望能够在标题中的单独文件中添加另一个domready函数.
这可能吗?或者我只是想以另一种方式解决这个问题?
当我在Mootools(或任何框架,真的)中执行以下操作时,对性能有任何好处吗?:
var elem = $('#elemId');
elem.addClass('someClass');
elem.set('some attribute', 'some value');
Run Code Online (Sandbox Code Playgroud)
基本上,我在DOM上更新了一些元素,我想知道是否在内存中创建变量并在需要时使用它比以下更好:
$('#elemId').addClass('someClass');
$('#elemId').set('some attribute', 'some value');
Run Code Online (Sandbox Code Playgroud)
$('#elemId')各种不同的功能都在变化.
考虑一下这个简单的Mootools类:
var Garden = new Class({
fruits : {
banana : 'yellow',
kiwi : 'brown',
strawberry : 'red'
},
initialize : function() {
console.log(this.fruits);
console.log(this.fruits.banana);
console.log(Object.keys(this.fruits));
}
});
var g = new Garden;
Run Code Online (Sandbox Code Playgroud)
输出(在Chrome控制台中):
reset.F
yellow
[]
Run Code Online (Sandbox Code Playgroud)
第三行应该是:['banana','kiwi','strawberry']问题出在Mootools重置方法中,该方法创建一个以原始水果对象为原型的新对象.由于Object.keys迭代检查hasOwnProperty,它返回一个空数组.
有关如何获得预期产量的任何想法?
当在同一页面上使用时,Mootools和ExtJs具有兼容性问题.Mootools抛出以下错误:
Uncaught TypeError: Property 'id' of object #<HTMLDocument> is not a function
Run Code Online (Sandbox Code Playgroud)
我们如何并排使用这两个框架?有解决方法吗?
mootools ×10
jquery ×6
javascript ×5
browser ×1
cross-domain ×1
extjs ×1
extjs4.1 ×1
extjs4.2 ×1
getjson ×1
html ×1
json ×1
performance ×1
security ×1
utilities ×1