如何解决framework7:从 URL 中剥离工作人员 ID 后损坏的选项卡链接
shinyMobile 的 inst/framework7-5.7.8/my-app.js 文件顶部有以下代码块:
if (typeof workerId != "undefined") {
var hash = window.location.hash;
var search = window.location.search;
var pathname = window.location.pathname;
var newpath = pathname + workerId + search + hash;
window.history.replaceState( {},'newpath',newpath);
}
只要应用程序不在本地运行,它就会将一个随机字符串(工作人员 ID)附加到应用程序的 URL 中。例如,https://my_domain/my_app/ 变为 https://my_domain/my_app/_w_123456/。
这非常烦人,因为它会阻止搜索参数(例如,?param=test
)被一致地捕获(screencast video)。
因此,我遵循了在此 post 中找到的解决方案,并注释掉了上面的 window.history.replaceState( {},newpath);
行。
现在,工作人员 ID 不再出现在 URL 中。但是应用程序标签的链接仍然以某种方式使用工作人员 ID 进行了初始化!例如,https://my_domain/my_app/_w_123456/#tabset-tab1。而且,在第一次点击时,由于我上面的更改,它们会更新为不包含工作人员 ID (https://my_domain/my_app/#tabset-tab1),导致它们损坏! 请查看这个新的screencast。
我试图找到在 shinyMobile 中初始化选项卡链接的脚本,但我找不到它。 也许它是 framework7 的功能?
PS:我对 ShinyMobile 的 GitHub 做了 post,但看看最近的其他问题,我似乎不太可能很快得到答案。
解决方法
包的作者实施了一个修复:https://github.com/RinteRface/shinyMobile/issues/140#issuecomment-754765964 非常感谢他!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。