Если передать аргументом setTimeout (и setInterval) строку, то код внутри нее будет выполнен в глобальном контексте. А все юзерскрипты, если мне не изменяет память, по-умолчанию выполняются в своем собственном локальном контексте. Отсюда - функции idf_timer и CheckForMessages не существуют в глобальном контексте.
|