Javascript | Link/Bookmarklet 替换当前 window 位置
Javascript | Link/Bookmarklet to replace current window location
我经常使用网页的三种变体,1) 开发 url,2) preview/staging url,以及 3) 实时 url .
我想创建一个link(小书签?)然后我可以添加到我的书签栏将更改 URL 字符串的一部分(基本上是页面名称之前的所有内容),然后将结果 URL 加载到新选项卡(如果更容易,则加载到同一选项卡)。
示例:
使用 Dev URL 处理页面:
https://dev.mysite.com/cf#/content/www/page1.html
我希望能够单击 link 并重新加载页面,并且 return 在相同或新的 window/tab 中进行以下暂存 URL:
https://preview2.mysite.com/page1.html
然后,如果我再次单击 link,我希望重新加载该页面,并且 return 以下实时 url 在相同或新的 window/tab 中:
http://www2.mysite.com/page1.html
然后,如果我再次单击 link,我希望重新加载页面并 return 以下开发人员 url 在相同或新的 window/tab 中:
https://dev.mysite.com/cf#/content/www/page1.html
所以,在开发、测试和访问页面的实时版本时,我基本上想避免大量 cut/copy 和粘贴,当我通过 url 的这些变体进行更改时.
这是我目前的情况。停留在最基本的方面,如果在开发页面上,请重新加载到预览页面:
joewiz.org "fixing-urls-with-dns-errors" 方法的变体
这个来自 Stack user63503 "how to replace part of the URL with JavaScript?" and after also trying str.replace from W3Schools.
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 的特定部分,更不用说添加规则以根据当前浏览器的位置重新加载到开发、预览、实时。
我知道已经有人问过非常相似的问题,但恐怕我无法从我找到的问题中推断出可操作的信息。但是,如果您觉得之前的 post 相关,请告诉我,我会去那里学习。
非常感谢大家!!
您的代码应该可以工作。
但是试试这个
javascript:(function(){var loc=location.href;loc=loc.replace('dev.mysite.com/cf#/content/www/','preview2.mysite.com/'); location.replace(loc)})()
记得将其复制到真正书签的 URL 中 - 我通常会向人们发送一个他们可以从中拖拽的网页,因此引用确实很重要:
<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) 开发 url,2) preview/staging url,以及 3) 实时 url .
我想创建一个link(小书签?)然后我可以添加到我的书签栏将更改 URL 字符串的一部分(基本上是页面名称之前的所有内容),然后将结果 URL 加载到新选项卡(如果更容易,则加载到同一选项卡)。
示例: 使用 Dev URL 处理页面:
https://dev.mysite.com/cf#/content/www/page1.html
我希望能够单击 link 并重新加载页面,并且 return 在相同或新的 window/tab 中进行以下暂存 URL:
https://preview2.mysite.com/page1.html
然后,如果我再次单击 link,我希望重新加载该页面,并且 return 以下实时 url 在相同或新的 window/tab 中:
http://www2.mysite.com/page1.html
然后,如果我再次单击 link,我希望重新加载页面并 return 以下开发人员 url 在相同或新的 window/tab 中:
https://dev.mysite.com/cf#/content/www/page1.html
所以,在开发、测试和访问页面的实时版本时,我基本上想避免大量 cut/copy 和粘贴,当我通过 url 的这些变体进行更改时.
这是我目前的情况。停留在最基本的方面,如果在开发页面上,请重新加载到预览页面:
joewiz.org "fixing-urls-with-dns-errors" 方法的变体 这个来自 Stack user63503 "how to replace part of the URL with JavaScript?" and after also trying str.replace from W3Schools.
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 的特定部分,更不用说添加规则以根据当前浏览器的位置重新加载到开发、预览、实时。
我知道已经有人问过非常相似的问题,但恐怕我无法从我找到的问题中推断出可操作的信息。但是,如果您觉得之前的 post 相关,请告诉我,我会去那里学习。
非常感谢大家!!
您的代码应该可以工作。
但是试试这个
javascript:(function(){var loc=location.href;loc=loc.replace('dev.mysite.com/cf#/content/www/','preview2.mysite.com/'); location.replace(loc)})()
记得将其复制到真正书签的 URL 中 - 我通常会向人们发送一个他们可以从中拖拽的网页,因此引用确实很重要:
<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>