Bookmarklet用于在浏览器中交换(实时和测试)URL

时间:2010-09-28 00:22:29

标签: testing bookmarklet staging

我曾经使用以下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代码,以便它可以处理截断的路径名。

1 个答案:

答案 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。