Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   можно ли включить функцию в глобальную область видимости из файла (https://javascript.ru/forum/dom-window/5268-mozhno-li-vklyuchit-funkciyu-v-globalnuyu-oblast-vidimosti-iz-fajjla.html)

maxval 01.10.2009 13:41

можно ли включить функцию в глобальную область видимости из файла
 
можно ли включить функцию в глобальную область видимости из файла?
например
<script type="txt/javascript" src="init.js"></script>

в котором объявлена функция
crossBrowser

чтобы потом вызвать ее в следующем теге

<script type="text/javascript">
par = new crossBrowser(event);
</script>

maxval 01.10.2009 13:43

просто при сообтветствующем вызове фаербаг ругается мол функция не определена

e1f 01.10.2009 14:55

Можно.

maxval 01.10.2009 23:50

а как именно тогда?

Gozar 02.10.2009 09:51

FF ругается, предположу потому, что у вас event не определена.

var event = 'bla';
var par = new crossBrowser(event);


Функция здесь совсем не причем, Вы пытаетесь создать объект par, говоря что crossBrowser требуется для этого аргумент event, который вы не определили, вот он и ругается

Функция создается так(это на всякий случай):

function crossBrowser(event){

}


А переменная вот так(это на ещё один всякий случай):

var par


Это все называется debug - отладка.

e1f 02.10.2009 15:01

Цитата:

Сообщение от Gozar (Сообщение 31511)
Это все называется debug - отладка.

Скорее, это называется http://javascript.ru//tutorial ;)

Gozar 02.10.2009 16:40

Я назвал это дебагом, потому что maxval не смог задать правильный вопрос, вернее ответ на заданный вопрос не решит проблему, а говорить что нужно хотя бы прочитать ман, бессмысленно, т.к. бессмысленный вопрос уже запостен на форум ;)

maxval 03.10.2009 17:58

вопрос на само деле в том, как наиболее разумно сделать include("init.js")
чтобы в следующем теге можно было использовать объявленную функцию
<script type="text/javascript">
par = new crossBrowser(event);
</script>



пока я сделал это средствами php
а хотелось бы яваскриптом.
потому, что пхп тупо вставляет содержимое файла
<script type="text/javascript">
<?php include ('init.js'); ?>
par = new crossBrowser(event);
</script>

Octane 03.10.2009 18:03

А что должен делать в этом случае браузер, останавливать на этом месте выполнение кода и ждать пока подгрузится скрипт? Вы же не с файловой системой работаете, как в случае с php, где содержимое файла во мнооооого раз быстрее можно получить.

Kolyaj 03.10.2009 21:50

Цитата:

Сообщение от maxval
потому, что пхп тупо вставляет содержимое файла

И что в этом плохого?

maxval 03.10.2009 22:52

я понимаю, что у меня проблема с матчастью есть. нужно изучать как работает интерпретатор жабо-скрипт в браузерах итд
Вопрос в в том, чтобы объявить функции во внешенем файле и использовать подгрузить их и в любом теге <script> на данной веб-странице использовать.

Kolyaj 03.10.2009 23:01

Цитата:

Сообщение от maxval
у меня проблема с матчастью есть

У вас проблема с выражением мыслей есть
Цитата:

Сообщение от maxval
чтобы объявить функции во внешенем файле и использовать подгрузить их и в любом теге <script> на данной веб-странице использовать.


Подключайте файл тегом script в начале страницы. В чем проблема?

Gozar 04.10.2009 00:36

maxval,
<html>
<head>
<script type="text/javascript" src="init.js"></script>
</head>
<body>
<script>
var par = new crossBrowser(event);
</script>
</body>
</html>


Если не сработает вот так, то подгрузка не при чем.

maxval 04.10.2009 07:11

ответ на вопрос найден.. эх все проблемы от невнимательности...
чтобы включить в документ файл, а потом использовать функции в теле любых скриптов нужно всего лишь добавить тег в раздел <head>
:write:
<head>
	<script type="text/javascript" src="init.js">
	</script>
</head>


Часовой пояс GMT +3, время: 13:26.