我们遇到Jquery Mobile的以下问题。 我们的网站分为移动和固定桌面网站。 两者都使用相同的数据库和PHP代码。只有模板不同。
在我们的移动网站上,我们使用Jquery mobile获得更好的用户体验,并且工作正常。但是我们集成了一个按钮“转到桌面”。 此链接应该将我们带回我们的“普通”桌面网站 但是有问题。在桌面站点中,Jquery移动设备仍然处于激活状态,它会替换下拉字段,输入字段并使桌面网站完全混乱。
我们尝试了一切来禁用JQM,但似乎没有任何效果。
我们如何在桌面模板上切换移动网站模板并完全禁用JQM?
非常感谢您的帮助!
答案 0 :(得分:1)
可用的解决方案很少,但只有一种解决方案可以做到。
工作示例:http://jsfiddle.net/Gajotres/NvEcW/
很少需要,首先我们需要设置:
<script>
$(document).on('mobileinit', function () {
$.mobile.ignoreContentEnabled = true;
});
</script>
它将使我们能够以编程方式打开/关闭内容增强功能。如果你已经不知道这个 mobileinit 事件必须在jQuery Mobile初始化之前初始化,但是在jQuery初始化之后。这必须始终是页面的一部分。
还有最后一步。当我们想要从移动设备移动到桌面页面时,我们需要重新加载页面并使用此javascript:
$(document).on('pagebeforecreate', '#index', function(){
$(this).attr('data-enhance','false');
});
Pagebeforecreate 事件非常重要,因为此时内容仍未得到增强,属性 data-enhance = false将阻止任何进一步的页面增强。如果要再次打开它,只需将属性值设置为true。
如果您需要更多解决方案,请查看我的其他答案,搜索主题标记增强预防方法: jQuery Mobile: Markup Enhancement of dynamically added content 。