使用 javascript 进行 Firefox 关键字搜索

问题描述 投票:0回答:1

我想使用 travel planner 充分利用 Firefox' Keyword Searches.

关键字搜索基本上只是在预定义的 URL 中的某处输入一个字符串,例如

google.com/search?q=%s
cats and dogs
会去
https://www.google.com/search?hl=en&q=cats%20and%20dogs
.

Q1:但是,URL 需要(当前)日期,因此也需要可变地输入。

因为我们需要起始位置最终位置我们需要输入two搜索字符串,这是可能的(解释here)。

Q2:我也希望能够例如输入“h”作为我的家庭住址。

旅行规划师的URL格式如下:

https://www.ns.nl/reisplanner/#/?vertrek=STARTLOCATION%20Centraal&vertrektype=treinstation&aankomst=ENDLOCATION&aankomsttype=treinstation&type=vertrek&tijd=2023-03-03T15:59&firstMileModality=PUBLIC_TRANSPORT&lastMileModality=PUBLIC_TRANSPORT&disabledTransportModalities=

我目前有:

javascript:var%C2%A0s='%s'; 
url='https://www.ns.nl/reisplanner/#/?vertrek=%s&vertrektype=treinstation&aankomst=%s&aankomsttype=treinstation&type=vertrek&tijd=currentDateInRightFormat&firstMileModality=PUBLIC_TRANSPORT&lastMileModality=PUBLIC_TRANSPORT&disabledTransportModalities='; 
const h='My Home Street 1 My Home Town'
const w='My Work Street 1 Work City'
const currentDateInRightFormat = new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('.')[0].slice(0,16));
t=''; 
qc=0; 
chunks=url.split('%s'); 

for(i=0; i<s.length; i++){
    if(s.charAt(i)=='%22')qc=qc^1; 
    t+=((s.charAt(i)==' '&&qc)?'^':s.charAt(i)); 
}
args=t.split(/\s/); 

nurl=''; 

for(i=0; i<chunks.length; i++){
    nurl+=chunks[i]; 
    if(args[i]!=undefined)%C2%A0{
        args[i]=args[i].replace(/\^/g,' '); 
        nurl+=args[i]; 
    }
}
location.replace(nurl,'< BR>');


所以我希望能够:

  • 在URL中输入currentDateInRightFormat
  • 使用字符串 'h' 然后输入我预定义的家庭地址,字符串 'w' 用于工作等。
javascript html search keyword multiparameter
1个回答
0
投票

鉴于我不相信你能够使用 Javascript 读取地址栏内容,我最接近做我认为你正在尝试(?)做的事情如下:

javascript:let home='Forfar';let work='Dundee';
let args={
    'aankomstvertrektype':'treinstation',
    'aankomsttype':'treinstation',
    'type':'vertrek',
    'tijd':(new Date(new Date().toString().split('GMT')).toISOString().substring(0,16)),
    'firstMileModality':'PUBLIC_TRANSPORT',
    'lastMileModality':'PUBLIC_TRANSPORT',
    'disabledTransportModalities':''
};
args.vertrek=prompt('Enter start location.\nUse "h" for "Home"',home);
args.aankomst=prompt('End End location.\nUse "w" for work.',work);
if(args.vertrek=='h')args.vertrek=home;
if(args.aankomst=='w')args.aankomst=work;
const endpoint='https://www.ns.nl/reisplanner/#/';
let url=new URL(endpoint);
url.search=new URLSearchParams(args).toString();
location.href=url;

添加到 Firefox 小书签 doodah thingy 后,通过在地址栏中键入

keyword
调用它,然后在出现提示时提供内容 -
h
w
可以使用并将替换
 的定义值home
work
。默认值已设置为
home
work
开始/结束

不会说荷兰语或不知道要使用的位置我不能 100% 确定这是否按预期运行

© www.soinside.com 2019 - 2024. All rights reserved.