在桌面上使用JQM测试不会产生这个问题,所以很难确定。
背景故事:我已经创建了服务器端代码(php)接受查询字符串,并打开一个画廊直接到图片。但是,如果用户在移动设备上浏览图库时想要分享链接,特别是某一张照片;大多数移动浏览器共享核心链接,而不是实际的照片。在事件中,为带有照片id的URL创建URL标签修饰符很容易(例如#photoID=987),但前提是图库最初没有标签。然后很容易与手机的Native方法共享。
(function(window, $, PhotoSwipe){
$(document).ready(function(){
//More Code is here but not needed fro this question
$(photoSwipeInstance).bind(PhotoSwipe.EventTypes.onDisplayImage, function(e){
var pid = codeThatGetsPhotoIDFromDisplayedIMGURL();
window.location.hash = '&pid='+pid[0];
});
if(getUrlVars()["pid"]!=null || getUrlVars()["pid"]!=undefined)
{
console.log(getUrlVars()["pid"]);
var photopid= getPhoto(getUrlVars()["pid"]);
photoSwipeInstance.show(photopid);
}
});//End Documentstrong text
}(window, window.jQuery, window.Code.PhotoSwipe));
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
问题:如果一个图库加载了一个标签,图库将弹出适当的图像,但随后立即关闭幻灯片放映。每一张经过这个点的照片都以同样的方式执行,幻灯片打开然后关闭。
我已经关闭了JQM使用的所有AJAX和hashtag锚函数。这个标签url函数在使用桌面浏览器时可以正常工作,但在使用任何移动浏览器时都不能。
是否有人尝试过此功能?
我可能使这比我的描述更令人困惑。
答案: JQM的标签处理程序不需要被关闭。Photoswipe需要将此处理程序添加到选项中:backButtonHideEnabled: false
不需要关闭JQM的标签处理程序。Photoswipe需要将这个处理程序添加到选项中:backButtonHideEnabled: false