我曾经使用以下小书签代码在我网站的临时服务器和实时服务器之间交换 URL,这样我就可以测试临时页面是否已成功上线:
暂存网址:www.stage.site.com/folder/page.html
实时网址:www.site.com/folder/page.html
这是该书签的代码;该脚本在两个方向上起作用:舞台生活和生活舞台:
javascript:if(location.host=='www.site.com')(location.href='http://www.stage.site.com'+location.pathname);if(位置.host=='www.stage.site.com')(location.href='http://www.site.com'+location.pathname);
但是,我的站点架构已更改 (CMS),暂存 URL 现在与实时 URL 大不相同:
创作网址:author.site.com/bucket1/bucket2/bucket3/folder/page.html
实时网址:www.site.com/folder/page.html
我一直无法弄清楚如何重写该小书签代码,以便它可以处理截断的路径名。
最佳答案
尝试
javascript:if(location.host=='www.site.com')(location.href='http://author.site.com/bucket1/bucket2/bucket3'+location.pathname);if(location.host=='author.site.com')(location.href='http://www.site.com'+(location.pathname.split('/').slice(4).join('/')));
我假设 bucket1/bucket2/bucket3/
保持不变,否则您需要想出一些非常聪明的方法来存储该信息。
您也可以在 location.pathname 上进行字符串替换,但我只是想使用拆分/切片/合并。
关于testing - 用于在浏览器中交换(实时和测试)URL 的书签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3808850/