使用JQM在桌面上進行測試不會產生此問題,因此很難查明。Photoswipe自定義標籤立即關閉幻燈片
Backstory:我已經創建了服務器端代碼(php)來接受查詢字符串並直接打開圖片庫。但是,如果用戶想在移動設備上衝浪畫廊時分享鏈接,特別是某張照片;大多數移動瀏覽器共享核心鏈接,而不是實際的照片。在滑動時爲帶有照片ID的URL(例如#photoID = 987)創建URL哈希標籤修飾符時的事件很容易,但只有在畫廊最初沒有標籤時才啓動。然後使用Phone的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;
}
問題:如果一個畫廊裝有一個包括hashtag畫廊會彈出正確的形象,但隨後立即關閉幻燈片放映。過去這一點的每張照片都會以相同的方式執行幻燈片放映,然後關閉。
我已經關閉了所有AJAX,以及JQM使用的hashtag錨定函數。此標籤網址功能在使用桌面瀏覽器時按預期工作,但在使用任何移動瀏覽器時不起作用。
有人試過這個功能嗎?
我可能讓我感到困惑很多,然後在我的描述中。
答案: JQM的hashtag處理程序不需要關閉。 Photoswipe需要將此處理程序添加到選項中:backButtonHideEnabled: false