由于E绅士为了降低服务器负载并加快加载速度,使用了类似于P2P的通过H@H分布式加载图片方式,因此难免会遇到加载失败的情况
正常情况下,在普通的单图浏览与Multi-Page Viewer浏览时,遇到加载失败的图片,都可以通过点击下方的图标或链接重载图片。
但是不知由于什么原因,在手机浏览器上,MPV的重载图标点击后是没有反应的。Edge、Chrome、Safari等浏览器均有此类问题。因此遇到这种情况往往只能手动切换到单图页面重载图片,非常弱智…
其实这个内容只要F12在开发者工具中打开触屏设备模式也一样可以复现,可以很容易的发现,按钮本身的功能是没问题的,但是被右边的触摸滑动操作盖住了…当你按在按钮上时候,其实并没有按在按钮上,而是在上下拖动页面(
实际上MPV中的重载按钮也只是执行了action_reload(3)
方法(这里的参数3是页数)。所以只要手动调用这个方法,就可以实现和点击按钮相同的重载图片效果了。
最简单的办法自然就是直接在地址栏输入javascript:action_reload(3)
,将3替换为你要重载的页数。但是这样显然很麻烦,由于MPV会通过URL中的Hash来定位你当前在左侧缩略图栏点击跳转到的图片,所以可以根据url中的hash部分信息直接获取到当前正在看的页面,然后进行reload。
MPV中的网址格式是https://..../#page3,显然这里直接取第五位开始的字符就是当前页数了。因此实际代码也非常简单。
javascript:action_reload(window.location.hash.substring(5))
将以上代码添加为书签,在遇到MPV打不开的页面时,直接点击这个书签就可以重载图片了
当然这里其实有一个小问题,如果你直接打开MPV,还没有点击图片进行跳转,那么这个时候hash是没有内容的,如果这时候你要重载第一张图片,就会出现问题。虽然这种情况很少见,但是最好还是额外进行一下判断:
javascript:action_reload(window.location.hash=="" ? 1 : window.location.hash.substring(5))
经过测试,MPV运行此书签即可正常实现刷新页面的效果,终于可以彻底抛弃单页面浏览器了233