Вот тут почему - то всё работает:
Смысл этого кода, в том, чтобы при нажатии по ссылке не переходить по адресу, а вывести адрес на экран.
Тут заменяется адрес 2х ссылок на вызов функции.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type="text/javascript">
function reply_guild(action, sign) // Обработчик ссылок(при переходе по ним)
{
alert('/bla-bla.php?action=' + action + '&sign=' + sign) // Вывести оригинальную ссылку
}
function main()
{
var list = document.querySelectorAll('a') // Найти все ссылки(все две)
var ref = list[0].href // Получить адрес ссылки
var sign = ref.substring(ref.indexOf('&sign=') + 6, ref.length) // Получить хэш в конце ссылок(у обоих он одинаков)
list[0].href = "javascript:reply_guild('accept' , '" + sign + "')" // Заменить адрес у 1й ссылки на вызов функции
list[1].href = "javascript:reply_guild('skip' , '" + sign + "')" // Заменить адрес у 2й ссылки на вызов функции
}
document.addEventListener('DOMContentLoaded', main) // Вызвать функцию после постройки DOM
</script>
</head>
<body>
<center>
<a href="/bla-bla.php?action=accept&sign=40f45705adc40e6d9510addd79473bd0">Принять</a>
<br>
<a href="/bla-bla.php?action=skip&sign=40f45705adc40e6d9510addd79473bd0">Отказаться</a>
</center>
</body>
</html>
Вверху - это урезанный пример.
У меня же ругается на то, что нет этой функции:
Uncaught ReferenceError: reply_guild is not defined(…)
Я же делаю так:
Подгружаю к некой странице(вкладке, как угодно) скрипт.
И в нём есть эта функция.
Далее из этого скрипта посылаю сообщение другому скрипту, другой скрипт делает GET запрос на некий адрес, из ответа дергается часть страницы, содержащая эти 2 ссылки.
Пока работаю с текстом, заменяю этим ссылкам адреса на вызов функции, и отправляю в первый скрипт.
Первый скрипт вставляет этот текст на страницу(как DOM).
Всё.
И нифига не работает.