如何创建浏览器快捷方式以将参数附加到当前 URL,然后加载生成的 url?

Posted

技术标签:

【中文标题】如何创建浏览器快捷方式以将参数附加到当前 URL,然后加载生成的 url?【英文标题】:How can I create a browser shortcut to append a parameter to current URL and then load the resulting url? 【发布时间】:2019-05-11 16:05:27 【问题描述】:

我想在我的浏览器中创建一个快捷方式,它将在当前 URL 之前附加一个 URL,然后在同一个选项卡中重新加载新 URL。假设我正在访问 espn.com。然后我希望能够单击快捷方式,以便 url 变为 ***.com/espn.com 并加载该页面。

我是 javascript 的完全新手,所以我不知道它是如何工作的,除了我的浏览器上有一个类似的快捷方式,它的工作原理与此完全相同。我已经阅读了其他类似的答案,但我无法确定它的头或尾。我正在使用的当前快捷方式采用当前的 reddit.com 评论页面,并通过转换链接在 reddit-stream.com 中打开它。快捷方式代码如下:

javascript:(function%20stream()%20%7Bvar%20s%20=%20window.location.href.split('/');var%20id%20=%20s%5Bs.indexOf('cmets' )+1%5D;if(s.indexOf('cmets')%20!=%20-1)%20%7B%20window.location.href%20=%20'http://reddit-stream.com/comments/'%20+%20id ;%20%7D%7D)();

上面的代码没有执行确切的功能,所以我不能简单地修改它,但我希望知道 Javascript 的人能够编写新代码。

编辑:只是为了清楚我放在这里的上述代码已经有效。我添加了代码来显示我正在寻找什么样的快捷方式。但我需要的是,当我在 website1.com 上时,我单击快捷方式,它会将我带到 website2.com/website1.com,其中 website2.com 始终是同一个网站,并且 website1.com 根据我所在的网页而变化来访。

【问题讨论】:

【参考方案1】:

您的URL 已编码为normal 字符串,这不是有效的javascript 语法。

编辑你的书签,输入与上面完全相同的字符串:

javascript:(function stream()  var s = window.location.href.split('/'); var id = s[s.indexOf('comments') + 1]; if (s.indexOf('comments') != -1)  window.location.href = 'http://reddit-stream.com/comments/' + id;  )();

javascript:前缀很重要。

你的情况:

javascript: (function() 
  var currentDomain = window.location.hostname;
  window.location.href = 'http://website2.com/' + currentDomain;
)();

如果你想得到website1.com的当前路径(比如website1.com/ping), 你可以使用window.location.href 而不是window.location.hostname

【讨论】:

嘿,谢谢,这确实有效,但 reddit-stream 快捷方式已经有效。我想要的是创建一个与 reddit 无关的新快捷方式。我希望能够访问 website1.com 并单击快捷方式,以便将我带到 website2.com/website1.com。很抱歉我之前没有说清楚。

以上是关于如何创建浏览器快捷方式以将参数附加到当前 URL,然后加载生成的 url?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 实现桌面快捷方式-快速打开App功能页

在HyperlinkButton的URL地址里附加多个参数(以http get的方式)

eclipserunconfiguration配置启动参数

怎样在快捷方式里加上窗口化的参数-window

在哪里或如何找到 BizTalk 服务器的数据库以将它们附加到 SQL 服务器?

桌面快捷方式如何创建 如何创建桌面快捷方式