Я пытаюсь написать простой почтовый индекс (для Greasemonkey/Tampermonkey), но я не могу заставить его работать. Цель состоит в том, чтобы добавить ссылку, когда загружается страница, а затем изменить URL-адрес (href
) всякий раз, когда срабатывает элемент mouseup()
. Сгенерированный код использует новые атрибуты из объявленных элементов, поэтому их необходимо установить снова.Многоразовый код в usercript
Главное, что я пробовал, заключалось в том, чтобы обернуть код многократного использования в function run() { /* code */ }
(с необходимыми настройками, чтобы сделать правильную вещь независимо от того, вызываются ли они при загрузке страницы или на мышь), но это возвращает ошибку, которая run() is not defined
. Как я могу правильно использовать код в таком имени?
$(document).ready(function() {
// REUSABLE CODE
var projI=new OpenLayers.Projection("EPSG:900913");
var projE=new OpenLayers.Projection("EPSG:4326");
var center_lonlat=(/* variable declaration */);
var topleft=(/* variable declaration */);
var bottomright=(/* variable declaration */);
lat=Math.round(center_lonlat.lat * 1000000)/1000000;
lon=Math.round(center_lonlat.lon * 1000000)/1000000;
spn=/* variable declaration */;
});
$(document).ready(function() {
$('div .olControlAttribution').append('<a id="WMEtoGMM" href=" \
/* link here that uses above variables */"'+ \
'target="_blank">Open new page</a>');
});
$('div .view-area.olMap #mouseupElement').mouseup(function() {
$('#WMEtoGMM').attr('href', 'URL HERE');
});
это 'greasemonkey' и' 'tampermonkey' userscript'? –
@JaromandaX Да, это правильно. – vaindil
, и это делается на странице с загруженной jQueery и загруженной библиотекой OpenLayers? –