2

以前は、次のブックマークレット コードを使用して、サイトのステージング サーバーとライブ サーバーの間で URL を交換していたので、ステージングされたページが正常にライブにプッシュされたことをテストできました。

ステージング URL: www.stage.site.com/folder/page.html

ライブ URL: 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) が変更され、ステージング URL がライブ URL とは大きく異なります。

オーサリング URL: author.site.com/bucket1/bucket2/bucket3/folder/page.html

ライブ URL: www.site.com/folder/page.html

切り捨てられたパス名を処理できるように、そのブックマークレット コードを書き直す方法を理解できませんでした。

4

1 に答える 1

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 / slave/joinを使用したいと思いました。

于 2010-12-17T22:48:36.940 に答える