很抱歉把整个代码都贴出来了,这是我第一次尝试 JS!
我想访问一个使用(多个)可变字符串的网站(使用 Firefox 的关键字搜索)。
我拼凑了一些代码并试图让它工作,但目前如果你用缩写 (
keyword str1_abbreviated str2_abbreviated
) 运行它,它只会返回那些缩写(例如 b->b,而不是 b->Brussels)。
javascript:var%C2%A0s='%s';
url='https://www.ns.nl/reisplanner/#/?vertrek=%s&vertrektype=treinstation&aankomst=%s&aankomsttype=treinstation&type=vertrek&tijd=currentDate&firstMileModality=PUBLIC_TRANSPORT&lastMileModality=PUBLIC_TRANSPORT&disabledTransportModalities=';
const a = 'Amsterdam';
const b = 'Brussels';
const c = 'Copenhagen';
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='';
function varNameExists(varName){
return [
[...Object.keys(this)].some(name => name === varName), // bool
varName // str
]};
for(i=0; i<chunks.length; i++){
nurl+=chunks[i];
if(args[i]!=undefined)%C2%A0{
const [B, n] = varNameExists(args[i])
if(B) {
const [,abbreviation] = varNameExists(args[i]);
args[i]=args[i].replace(/\^/g, abbreviation);
nurl+=args[i]; }
else{
args[i]=args[i].replace(/\^/g,' ');
nurl+=args[i]};
}};
location.replace(nurl,'< BR>');