我曾经使用以下bookmarklet代码在我的网站的登台服务器和实时服务器之间交换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(location.host=='www.stage.site.com')(location.href='http://www.site.com'+location.pathname);
但是,我的网站架构已更改(CMS),暂存网址现在与实际网址完全不同:
创作网址:author.site.com/bucket1/bucket2/bucket3/folder/page.html
实时网址:www.site.com/folder/page.html
我无法弄清楚如何重写该bookmarklet代码,以便它可以处理截断的路径名。
答案 0 :(得分:0)
尝试
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上执行字符串替换,但我只是想使用split / slice / join。