我有一个jQuery函数,可以在桌面浏览器上正常运行,但在iPad或iPhone上引发错误。当我运行控制台找到错误时,我收到此消息。对不起,我没有给你们很多东西继续下去。如果您让我知道您在寻找什么,我可以提供更多信息。
编辑:我已禁用所有其他插件。请注意,此代码适用于计算机浏览器,但不适用于移动设备;特别是iPad和iPhone。
EDIT_2:我刚在页面中找到了此代码。似乎如果浏览器来自移动设备,它将不会加载一些插件。新问题,为什么我的主题会限制这些插件的加载?
var ismobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));
if(!ismobile){
/** ONLY EXECUTE THESE CODES IF MOBILE DETECTION IS FALSE **/
/* REQUIRED: Datatable PDF/Excel output componant */
document.write('<script src="js/include/ZeroClipboard.min.js"><\/script>');
document.write('<script src="js/include/TableTools.min.js"><\/script>');
document.write('<script src="js/include/select2.min.js"><\/script>');
document.write('<script src="js/include/jquery.excanvas.min.js"><\/script>');
document.write('<script src="js/include/jquery.placeholder.min.js"><\/script>');
TypeError: 'undefined' is not a function (evaluating '$(".themed select.with-search").select2()')
以下是它抱怨的代码:
$(document).ready(function(){
setup_custom_form_elements();
});
function setup_custom_form_elements() {
if ($('.themed').length) {
$(".themed input[type='radio'], .themed input[type='checkbox'], .themed input[type='file'].file, .themed textarea").uniform();
$(".themed select.with-search").select2();
/* some demo buttons for select 2 */
$("#disable-select-demo").click(function() {
$("#select-demo-js select").select2("disable");
});
$("#enable-select-demo").click(function() {
$("#select-demo-js select.with-search").select2();
});
}// end if
}
答案 0 :(得分:1)
以下是答案:
如上所述,我的主题是限制插件源文件的加载。愚蠢的错误,我应该注意到它。我从if(!mobile)
语句中取出了Select2插件,现在一切正常。
谢谢你所有的帮助!