如何从链接获取 URL 参数以在 Greasemonkey 脚本中形成新链接?

发布于 2024-09-02 10:12:01 字数 453 浏览 4 评论 0原文

我对 jQuery 和 Greasemonkey 还很陌生,但我想修改 URL。

例如,给定:

http://www.example.com/index.php?value1=blabla1&sid=blabla2&mid=blabla3

我想要:

link://www.example.com/blabla1/data/blabla2/blabla3.ext


我尝试了这样的代码:

var sid=document.URL.substring(document.URL.indexOf('sid=')+15); 
// How do I set the length of blabla2 ? -7 ?

希望有人能理解我的意思并能帮助我一点。

I'm pretty new to jQuery and Greasemonkey, but I want to reform a URL.

For example, given:

http://www.example.com/index.php?value1=blabla1&sid=blabla2&mid=blabla3

I want:

link://www.example.com/blabla1/data/blabla2/blabla3.ext

I tried code like this:

var sid=document.URL.substring(document.URL.indexOf('sid=')+15); 
// How do I set the length of blabla2 ? -7 ?

Hopefully someone understands what I mean and can help me out a little.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

少女净妖师 2024-09-09 10:12:01

使用正则表达式搜索来获取值。
如果您提前知道参数名称,那么它比看起来更简单......

var searchableStr   = document.URL + '&';

var value1  = searchableStr.match (/[\?\&]value1=([^\&\#]+)[\&\#]/i) [1];
var sid     = searchableStr.match (/[\?\&]sid=([^\&\#]+)[\&\#]/i)    [1];
var mid     = searchableStr.match (/[\?\&]mid=([^\&\#]+)[\&\#]/i)    [1];

最后一点类似于:

var domain  = searchableStr.match (/\/\/([w\.]*[^\/]+)/i) [1];

var newlink = '//' + domain + '/' + value1 + '/data/' + sid + '/' + mid + '.ext';  
.

 。

PS:如果您事先不知道名称,那么工作量只会稍微多一些。
PPS:这是教育代码。在野外使用时,请注意多余的空格和恶意数据。

Use regular-expression searches to get the values.
If you know the param names in advance, it's more straightforward than it looks...

var searchableStr   = document.URL + '&';

var value1  = searchableStr.match (/[\?\&]value1=([^\&\#]+)[\&\#]/i) [1];
var sid     = searchableStr.match (/[\?\&]sid=([^\&\#]+)[\&\#]/i)    [1];
var mid     = searchableStr.match (/[\?\&]mid=([^\&\#]+)[\&\#]/i)    [1];

.
The last bit is then something like:

var domain  = searchableStr.match (/\/\/([w\.]*[^\/]+)/i) [1];

var newlink = '//' + domain + '/' + value1 + '/data/' + sid + '/' + mid + '.ext';  
.

 .

PS: It's only slightly more work if you don't know the names in advance.
PPS: This is educational code. Beware of extra spaces and malicious data, when using in the wild.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文