Javascript 如何获取URL的一部分并将用户重定向到包含该部分URL的URL?
我想创建一个运行javascript的书签。 它将从我使用的游戏论坛中获取一部分URL,并将用户带到它的编辑页面 帖子的url可以是这样的,例如- 你看到那张贴了吗?我想获取该号码并将用户重定向到以下位置: http://www.roblox.com/Forum/EditPost.aspx?PostID=[数字在这里] 所以我想得到url的一部分,并把它放在PostID中 有人能帮上忙吗?使用Javascript:Javascript 如何获取URL的一部分并将用户重定向到包含该部分URL的URL?,javascript,Javascript,我想创建一个运行javascript的书签。 它将从我使用的游戏论坛中获取一部分URL,并将用户带到它的编辑页面 帖子的url可以是这样的,例如- 你看到那张贴了吗?我想获取该号码并将用户重定向到以下位置: http://www.roblox.com/Forum/EditPost.aspx?PostID=[数字在这里] 所以我想得到url的一部分,并把它放在PostID中 有人能帮上忙吗?使用Javascript: document.location = document.location.hr
document.location = document.location.href.replace('ShowPost', 'EditPost');
这是您的书签:
<a href="javascript:location.href='EditPost.aspx'+location.search" onclick="alert('Drag this to your bookmarks bar');">Edit Post</a>
URL的查询字符串可通过
window.location.search
获得。因此,如果您在页面http://www.roblox.com/Forum/ShowPost.aspx?PostID=78212279
var query = location.search; // ?PostID=78212279
现在我们需要将查询字符串拆分为键值对。每个键值对由&
分隔,对中的每个键值由=
分隔。我们还需要考虑到键值对也被编码在查询字符串中。下面是一个函数,它将为我们处理所有这些问题,并返回一个对象,该对象的属性表示查询字符串中的键值对
function getQueryString() {
var result = {},
query= location.search.substr(1).split('&'),
len = query.length,
keyValue = [];
while (len--) {
keyValue = query[len].split('=');
if (keyValue[1].length) {
result[decodeURIComponent(keyValue[0])] = decodeURIComponent(keyValue[1]);
}
}
return result;
}
var query = getQueryString();
query.PostID; // 78212279
现在,在讨论中的页面上使用它,我们可以在查询字符串中获得PostID
function getQueryString() {
var result = {},
query= location.search.substr(1).split('&'),
len = query.length,
keyValue = [];
while (len--) {
keyValue = query[len].split('=');
if (keyValue[1].length) {
result[decodeURIComponent(keyValue[0])] = decodeURIComponent(keyValue[1]);
}
}
return result;
}
var query = getQueryString();
query.PostID; // 78212279
可以使用正则表达式
var re = /^https?:\/\/.+?\?.*?PostID=(\d+)/;
function getPostId(url) {
var matches = re.exec(url);
return matches ? matches[1] : null;
}
谢谢!我所需要的就是这个。