使用javascript bookmarklet

时间:2015-09-04 11:57:08

标签: javascript bookmarklet

有没有办法通过javascript bookmarklet替换URL中问号之前的所有字符?

我找到了一种方法来替换URL中的部分,但前提是当前网址始终相同。

但我的网址与很多子页面不同,所以我需要在问号之前隔离所有内容

示例1:

http://www.marktplaats.nl/z.html 查询=巴基&安培; searchOnTitleAndDescription =真安培;的categoryId = 356&安培;邮政编码=

应改为:

http://www.rss2search.nl/marktplaats/zoek.php 查询=巴基&安培; searchOnTitleAndDescription =真安培;的categoryId = 356&安培;邮政编码=

我可以通过选择问号之前的所有内容来更改它吗?

3 个答案:

答案 0 :(得分:0)

将您的网址转换为数组:

var arr = 'http://www.marktplaats.nl/z.html?query=buck...'.split('?');

加入新的网址文字和arr的第二个元素:

var text = 'http://www.rss2search.nl/marktplaats/zoek.php';
var out = [text, arr[1]].join('?');

DEMO

答案 1 :(得分:0)

是的,可以这样做......

let

对于您的书签,请将其添加为网址...

var url = "http://www.rss2search.nl/marktplaats/zoek.php";
location.href = url + location.href.substr(location.href.indexOf("?"));

答案 2 :(得分:0)

您可以尝试以下代码:

// This regex pattern will take whatever string before question mark
var re = /(.+)\?/; 

var str = 'http://www.marktplaats.nl/z.html?query=bucky&searchOnTitleAndDescription=true&categoryId=356&postcode=';

// And then replace with this string
var subst = 'http://www.rss2search.nl/marktplaats/zoek.php'; 

var result = str.replace(re, subst);