如何创建浏览器快捷方式以将参数附加到当前 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?的主要内容,如果未能解决你的问题,请参考以下文章
在HyperlinkButton的URL地址里附加多个参数(以http get的方式)