А че из ифрейма достать другой конструктор не вариант?
(function () { var iFrame = document.createElement("iframe"), iFrameDoc; document.body.appendChild(iFrame); iFrameDoc = iFrame.contentDocument || iFrame.contentWindow.document; iFrameDoc.open(); iFrameDoc.write('<script>window.Array = Array</scr' + 'ipt>'); iFrameDoc.close(); window.$Array = (iFrame.contentWindow || iFrameDoc.defaultView).Array; }()); $Array.prototype.test = function () {}; var array = [], $array = new $Array(); alert([ "test" in array, "test" in $array, Array.isArray ? Array.isArray($array) : "", Object.prototype.toString.call($array), new $Array(1, 2, 3).concat(4) ]); |
Цитата:
Но для zepto type = 'array'. Проверка не проходит. И это кривизна zepto. Цитата:
Опять же, для zepto это не сработает. |
Цитата:
Кстати по поводу больших чисел - просто наш псеводомассив круче нативного. )) Цитата:
|
Цитата:
$.zepto.isZ( some ); Цитата:
var x = $( 'div' ); alert( $.type( x ) == 'array' ); // true alert( $.type( x ) === 'array' ); // и так тоже true |
Octane, блин, круто! Это действительно делает то, что мне нужно. Но это конечно очень грязный хак. Я не уверен что его можно использовать.
А есть еще подобные вариации для получения другого Array ? Цитата:
Цитата:
Цитата:
В плагинах бывает проверка через $.type и поведение jquery и zepto тут будет разным. |
могу повторить свою точку зрения: если ты хочешь подключать жуквери плагины к зепто, то вряд ли обойдешься вышеперечисленным. Все равно придется лезть в код.
Цитата:
|
danik.js,
это еще чо , мы тогда пытались функции с другим прототипом получать вот это было весело) |
Цитата:
|
Цитата:
Могу еще пример привести: когда пытался подключить жуквери плагин к зепто, оказалось, что в зепто нет метода pushStack. |
Цитата:
Дописать $.prototype = перед $.fn - это всего 12 символов Ну с коллекциями будет чуть сложнее, но правок будет не так уж и много. На уровне ядра больше ничего править то и не нужно (наверное). С чего ты взял что после этих правок zepto станет jquery? Это не кучи говна ради совместимости с IE6, не миллионы оберток, исправляющие недочеты быдлокодеров, css-анимация никуда не денется. Selector engine не добавится. В общем я знаю две вещи: 1) нужно по возможности использовать Zepto. Ибо работает быстрее, грузится быстрее, и не содержит тонны мертвого кода. А ишак( IE8- ) пускай хавает jQuery. 2) при желании можно писать плагины, совместимые как с jQuery, так и с Zepto. И это не так уж и сложно. |
Часовой пояс GMT +3, время: 10:40. |