【发布时间】:2019-03-14 08:16:01
【问题描述】:
我正在使用 Django 构建网页。当我想在 safari iOS 上测试项目时,我尝试使用向后滑动或后退按钮,但它没有执行正确的操作,而是重新加载同一页面。
我已经在另一个网页中测试了相同的滑动,它可以正常工作。
有谁知道它为什么会发生以及如何纠正它?
【问题讨论】:
标签: ios django safari user-experience
我正在使用 Django 构建网页。当我想在 safari iOS 上测试项目时,我尝试使用向后滑动或后退按钮,但它没有执行正确的操作,而是重新加载同一页面。
我已经在另一个网页中测试了相同的滑动,它可以正常工作。
有谁知道它为什么会发生以及如何纠正它?
【问题讨论】:
标签: ios django safari user-experience
听起来 Django 可能在您的网页上有一些调用 reload() 函数的 javascript。如果在桌面浏览器上发生相同的行为,您可以轻松检查(在 Chrome 中:右键单击 > 检查)网页的源代码并查找重新加载页面的 javascript 函数。也许重新加载是您可以在您的站点上禁用的 Django 插件的一部分。
【讨论】:
我知道为什么会发生这个错误。
我有一个函数initialize() 调用google.maps.event.addDomListener(window, 'load', initialize);,在初始化函数内部我有map = new google.maps.Map(document.getElementById("map-details"), mapProp); 和一个对API 休息的调用。在对 API 的调用内部,我有相同的代码 map = new google.maps.Map(document.getElementById("map-details"), mapProp);。
为了修复错误,我删除了初始化函数中的地图声明,并将其保留在 Api 调用中。
这是我见过的最奇怪的事情,都是谷歌地图的错。
之前
function initialize(){
map = new google.maps.Map(document.getElementById("map-details"), mapProp);
$.ajax({
...,
success: {
map = new google.maps.Map(document.getElementById("map-details"), mapProp);
...
}
});
}
之后
function initialize(){
$.ajax({
...,
success: {
map = new google.maps.Map(document.getElementById("map-details"), mapProp);
...
}
});
}
【讨论】: