我想使用 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>');
所以我希望能够:
鉴于我不相信你能够使用 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% 确定这是否按预期运行