【发布时间】:2014-07-28 14:07:30
【问题描述】:
我有这个问题——似乎只是有时——jquery-embedly 在 Chrome 的移动仿真下会弄乱iScroll(如果我禁用触摸仿真或完全禁用移动仿真,则可以正常工作):
http://jsfiddle.net/frank_o/nRrB5/
我询问过的很多 Android 用户都能够在他们的原生设备上正常滚动——这可能是由于 Chrome 中的移动仿真错误造成的吗?如果是这样,有人知道是什么让它恐慌吗?
$(document).on('pagecontainershow', function () {
// ISCROLL
$('[data-iscroll]').each(function () {
$(this).wrapInner("<div class='scroller'></div>")
.wrapInner("<div class='scroller_wrapper'></div>");
var wrapper = $(this).find('.scroller_wrapper').first(),
windowHeight = $(window).height();
wrapper.height(windowHeight);
var scrollerTest = new IScroll(wrapper.get(0), {
eventPassthrough: false,
scrollX: false,
scrollY: true,
preventDefault: false,
scrollbars: true
});
scrollerTest.on('scrollEnd', function () {
// For Android users to see whether it's iScroll or their native scroller
$('.ui-page').css('background', '#ccc')
});
});
document.addEventListener('touchmove', function (e) {
e.preventDefault();
}, false);
// EMBEDLY
var element = $('a');
element.embedly({
key: '',
query: {
maxwidth: 400,
autoplay: true
},
display: function (data) {
if (data.thumbnail_url) {
element.html('<img src="' + data.thumbnail_url + '" />');
}
}
}).on('click', function () {
var data = $(this).data('embedly');
$(this).replaceWith(data.html);
return false;
});
});
【问题讨论】:
-
移动模拟器无法与真实设备浏览器进行比较,它们是在不同的操作系统中实现的,您永远无法确定结果。
-
你能确认这确实是 Chrome 移动模拟器的问题吗?
-
完全不可靠
标签: javascript android jquery google-chrome