Если у вас есть документ на текущей вкладке, я полагаю, Jetpack дает его вам как:
var doc= jetpack.tabs.focused.contentDocument;
Тогда, в простом JS, получите ссылку любым удобным для вас способом. Например, чтобы получить первую ссылку из второго элемента списка:
var menu= doc.getElementById('courses_menu');
var link= menu.getElementsByTagName('li')[1].getElementsByTagName('a')[0];
Если вы используете Jetpack, вы, вероятно, можете полагаться на достаточно новую версию Firefox, чтобы иметь встроенную поддержку Selectors-API, так что вы могли бы получить это проще без использования дополнительной библиотеки, такой как jQuery, например:
var link= doc.querySelector('#courses_menu>ul>li:nth-child(2) a');
Теперь в старом школьном DOM Level 0 есть несколько простых свойств, позволяющих получить части URL-адреса внутри ссылки, не прибегая к ненадежной обработке регулярных выражений. Если вам нужна вся строка запроса crsEdId=78
, вы можете сказать:
var query= link.search.substring(1);
(подстрока должна убрать любой начальный символ ?
.)
Если может быть больше параметров запроса, и вы хотите специально найти тот, который называется crsEdId
, вам необходимо полностью обработать запрос, например ::
var crsEdId= getParameter(query, 'crsEdId');
function getParameter(query, name) {
var pars= query.split(/[&;]/g);
for (var i= pars.length; i-->0;) {
var n= pars[i].split('=')[0];
if (decodeURIComponent(n)===name)
return decodeURIComponent(pars[i].substring(n.length+1));
}
}