2015-04-22 22 views
1

我經常使用網頁的三種變體,1)開發人員網址,2)預覽/分段網址,以及3)和實時網址。Javascript | Link/Bookmarklet取代當前窗口位置

我想創建鏈接(書籤?),我可以再添加到我的書籤欄將改變URL字符串(頁面名稱之前基本上是所有)的一部分,然後加載生成的URL在一個新的標籤中(如果更容易,也可以使用同一標籤)

例子: 頁面上正與開發網址:

https://dev.mysite.com/cf#/content/www/page1.html 

我想可以點擊的鏈接,並在頁面重新加載,並在同一返回以下分期URL或新窗口/標籤:

https://preview2.mysite.com/page1.html 

,然後,如果我再次點擊該鏈接,我想重新加載頁面,並在相同或新窗口/標籤返回以下直播網址:

http://www2.mysite.com/page1.html 

,然後,如果我再次點擊該鏈接,我想重新加載頁面,並在相同或新窗口/標籤返回以下dev的網址:

https://dev.mysite.com/cf#/content/www/page1.html 

,我就基本上像以避免在開發,測試和訪問網頁的實時版本時通過改變網址的這些變體來進行大量剪切/複製和粘貼。

這裏是我迄今爲止..在它的最基本的方面卡住,如果開發頁面上,加載到預覽頁面:通過joewiz.org "fixing-urls-with-dns-errors"

方法的變化一個來自Stack user63503 "how to replace part of the URL with JavaScript?",之後也嘗試從W3Schools str.replace。

javascript:(function(){window.location.url.replace("dev.mysite.com/cf#/content/www/","preview2.mysite.com/");})(); 

javascript:(function(){window.location.pathname.replace("dev.mysite.com/cf#/content/www/","preview2.mysite.com/");})() 

那只是其中一個步驟,你可以告訴我們,我已經卡住。我已經嘗試了很多變體,但我無法替換url的特定部分,更不用說將規則重新加載到dev,預覽,實時取決於當前瀏覽器的位置。

我意識到已經提出了非常類似的問題,但我擔心我無法從我發現的信息中推斷出可操作的信息。不過,請讓我知道,如果你覺得以前的帖子是相關的,我會去那裏研究。

非常感謝大家!

+0

嘗試location.href而不是location.pathname。同時檢查控制檯是否有錯誤。在一些瀏覽器中,你必須從書籤運行你的JavaScript,而不是從位置欄 – mplungjan

+0

@mplungjan謝謝,我試過了,javascript:(function(){window.location.href.replace(「preview2」,「www2」);} )但仍然沒有去。 – Gaberham

+0

控制檯中的任何錯誤? – mplungjan

回答

3

你的代碼應該工作。

但試試這個

javascript:(function(){var loc=location.href;loc=loc.replace('dev.mysite.com/cf#/content/www/','preview2.mysite.com/'); location.replace(loc)})() 

記住這個複製到一個真正的書籤的網址 - 我通常派人網頁,他們可以從這樣拖報價確實是很重要的:

<a href="javascript:(function(){var loc=location.href;loc=loc.replace('dev.mysite.com/cf#/content/www/','preview2.mysite.com/'); location.replace(loc)})()">ReplaceUrlBM</a> 
+1

這真棒!我尖銳的無法讓我的代碼工作,但這完美的作品!你究竟如何解釋這一點? 這就是我最終使用的: javascript:(function(){var loc = location.href; loc = loc.replace(/.*\/ us /,「https://dev.mysite.com/ cf#/ content/www/us「); location.replace(loc)})()等等。 – Gaberham

+0

我已經寫了超過15年的小書籤;) – mplungjan

+0

這樣做! :)另外,稍作改動,我用單引號代替。這使我可以根據需要將鏈接放在頁面上,並拖放到瀏覽器欄中而不是編輯並將代碼複製/粘貼到現有書籤中。即...'dev.mysite.com/cf#/content/www/us')...再次感謝! – Gaberham