Показать сообщение отдельно
  #1 (permalink)  
Старый 11.11.2016, 14:21
Профессор
Отправить личное сообщение для Артист Посмотреть профиль Найти все сообщения от Артист
 
Регистрация: 25.09.2016
Сообщений: 163

Не видит функцию.
Вот тут почему - то всё работает:

Смысл этого кода, в том, чтобы при нажатии по ссылке не переходить по адресу, а вывести адрес на экран.
Тут заменяется адрес 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).
Всё.

И нифига не работает.

Последний раз редактировалось Артист, 11.11.2016 в 14:26.
Ответить с цитированием