У меня есть следующий код JavaScript:JavaScript - расщепление window.location.href возвращает неопределенное значение
var url = window.location.href;
var link = url.split('?link=');
link[1] = "http://goo.gl/" + link[1];
link[2] = "http://goo.gl/" + link[2];
function ad(){
window.location.href = link[1];
}
function ac(){
window.open(link[2], '_blank');
}
И есть ссылка:
<a href="javascript:ac();" onclick="ad();">ACCESS</a>
Проблема заключается в том, что в некоторых компьютерах, раскол не работает.
Например: если ссылка mySite.com/link.html?link=wfijOp?link=atGdj
. Он должен дать мне goo.gl/wfijOp
и goo.gl/atGdj
вместо goo.gl/undefined
и goo.gl/undefined
.
В чем проблема с этими компьютерами?
Это, вероятно, потому, что вы пытаетесь получить доступ к массивам элемент, который не существует. Массивы основаны на нуле, поэтому, если вы хотите захватить второй элемент в массиве, вы должны написать ссылку [1]. –
@ black123 Я думаю, что он имеет желаемое поведение. 'link [0]' будет выдавать 'http: //..../ link.html' часть, нет? – arcyqwerty
как общее примечание, однако, параметры строки запроса должны быть разделены символом '& param = value' not'? '. '?' используется только для выделения строки запроса из пути – arcyqwerty