Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.02.2010, 17:56
Аспирант
Отправить личное сообщение для Leax Посмотреть профиль Найти все сообщения от Leax
 
Регистрация: 03.06.2009
Сообщений: 67

проблема с вызовом функции из js-файла
Используется связка GreaseMonkey+FireFox+FireBug

К GM подключаю скрипт:
alert('Start js');

var start_button = document.createElement("div");
start_button.innerHTML = '<script type="text/javascript" src="file://localhost/D:/games/script/mz/mz1.js">'+
'</script> <input type="button" value="Button" onClick="div_calc()">';

document.body.insertBefore(start_button, document.body.firstChild);


В файле mz1.js код
function div_calc(){ alert('Inside function');}


При открытии соответствующей страницы срабатывает alert "Start js" (причем 2 раза, как ни странно).

Также вверху страницы слева появляется кнопка Button
Но при нажатии на эту кнопку ничего не происходит!

Посмотрел код страницы с помощью FireBug - в body есть и моя кнопка и код файла с функцией. Но функция div_calc() при нажатии на кнопку Button не срабатывает.
Вот такие непонятки
Ответить с цитированием
  #2 (permalink)  
Старый 07.02.2010, 18:00
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Браузер не будет грузить скрипты с протоколом file на страницы, загруженный с http(s). Поставьте локальный веб-сервер и грузите скрипты оттуда. Вообще забудьте про file:///
Ответить с цитированием
  #3 (permalink)  
Старый 07.02.2010, 18:24
Аспирант
Отправить личное сообщение для Leax Посмотреть профиль Найти все сообщения от Leax
 
Регистрация: 03.06.2009
Сообщений: 67

Kolyaj,
Хм. Точно. Спасибо
Сделал всё в одном файле- заработало
alert('Start js');

var start_button = document.createElement("div");
start_button.innerHTML = '<script type="text/javascript"> function div_calc(){alert("Inside function");} </script>'+
'<input type="button" value="Button" onClick="div_calc()">'; 

document.body.insertBefore(start_button, document.body.firstChild);

Только уж больно неудобно всю js-функцию в виде строки писать. А придется =(

Последний раз редактировалось Leax, 07.02.2010 в 18:32.
Ответить с цитированием
  #4 (permalink)  
Старый 07.02.2010, 18:36
Аспирант
Отправить личное сообщение для Leax Посмотреть профиль Найти все сообщения от Leax
 
Регистрация: 03.06.2009
Сообщений: 67

Kolyaj,
Еще раз уточню:
если я установлю локальный веб-сервер, то я смогу грузить страницы из интернета, а внедрять в них js-файлы с этого локального сервера?
Ответить с цитированием
  #5 (permalink)  
Старый 07.02.2010, 18:51
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Угу.

http://www.denwer.ru/ на всякий случай.
Ответить с цитированием
  #6 (permalink)  
Старый 07.02.2010, 19:08
Аспирант
Отправить личное сообщение для Leax Посмотреть профиль Найти все сообщения от Leax
 
Регистрация: 03.06.2009
Сообщений: 67

Kolyaj,
Ай, спасибо тебе огромное!!!!!!!
Я еще лучше нашел, размером 140кБ!!
Small HTTP server
Установил за 2 мин - всё летает! Спасибо огромное!!!!!

И скрипты с локального диска грузятся!
P/S/^ ставил английскую версию, а то на русскую чего-то Avira ругается

Последний раз редактировалось Leax, 07.02.2010 в 19:15.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов событий из js функции Destrifer Общие вопросы Javascript 5 29.11.2008 15:28
Загрузка файла средставми js twolf Общие вопросы Javascript 8 21.10.2008 18:34
Проблема с вызовом функции prophet Общие вопросы Javascript 1 26.09.2008 12:26
вызов функции, из JS генерируемого на сервере subaru AJAX и COMET 1 12.07.2008 13:44
Вызов функции из файла. Phoenix Общие вопросы Javascript 2 21.11.2007 22:49