Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Найти скрипт на странице (https://javascript.ru/forum/events/10332-najjti-skript-na-stranice.html)

kaww 29.06.2010 08:05

Найти скрипт на странице
 
К странице подключен скрипт, нужно найти его на странице и ниже вставить текст.Что-то в этом роде:

var scripts = document.getElementsByTagName('script');
	
for (var i=0;i<scripts.length;i++) {
	
	if (scripts[i].src==s.src) alert('!');
}

Вместо s - ссылка на скрипт в котором этот код.Собственно вопрос: как передать ссылку на скрипт?

Skipp 29.06.2010 09:43

kaww,
Прочитайте сами что написали, допустим я ничего не понял, что искать, где искать. зачем.
По понятнее можно?

kaww 29.06.2010 10:02

Нужно после <script src='script.js'> добавить див на страницу. Как это сделать из script.js?Т.е. если перебирая скрипты на странице как найти script.js?

Skipp 29.06.2010 10:11

kaww,
ну хоть начните с чего-нибудь, как вы это представляете.

kaww 29.06.2010 10:19

Skipp,
script.js :
var scripts = document.getElementsByTagName('script'); 
      
for (var i=0;i<scripts.length;i++) { 
      
    if (scripts[i].src==sc.src) alert('!'); 
}

Только нужно sc присвоить ссылку на скрипт. Если написать this, то ничего не работает.

Skipp 29.06.2010 10:21

kaww,
а что в sc.src храниться?

kaww 29.06.2010 10:28

Skipp,
src-URL файла сценария .js.
т.е сравниваем url'ы всех сценариев страницы с url'ом script.js. Собственно весь вопрос в том как присвоить sc ссылку на объект script.

Kolyaj 29.06.2010 10:39

Цитата:

Сообщение от kaww
Нужно после <script src='script.js'> добавить див на страницу.

document.wirte('<div></div>');
Внутри script.js

Kolyaj 29.06.2010 10:40

Цитата:

Сообщение от kaww
Собственно весь вопрос в том как присвоить sc ссылку на объект script.

Если у вас будет ссылка на объект script, зачем вы его искать будете?

kaww 29.06.2010 10:43

Kolyaj,
Вы правы, но если скрип на страницу добавляется динамически (jQuery ajax), то удаляется все содержимое страницы, и остается только этот див

kaww 29.06.2010 10:50

Цитата:

Сообщение от Kolyaj (Сообщение 61597)
Если у вас будет ссылка на объект script, зачем вы его искать будете?

В этом-то и проблемма, я не знаю как ее (ссылку на script.js) получить.

Kolyaj 29.06.2010 10:53

Цитата:

Сообщение от kaww
но если скрип на страницу добавляется динамически

Если вы его добавляете динамически, значит он у вас уже есть.

Цитата:

Сообщение от kaww
я не знаю как ее (ссылку на script.js) получить.

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

В любом случае, если вы динамически добавляете скрипт, и этот скрипт хочет что-то после себя создать -- значит что-то у вас неправильно в архитектуре.

kaww 29.06.2010 11:04

Цитата:

Сообщение от Kolyaj (Сообщение 61603)
Вы пытаетесь написать скрипт поиска узла, который в качестве параметра принимает ссылку на этот узел. Вам не кажется это странным?

Это уже от безисходности.
Или по-другому. Как найти родитель элемента script

Kolyaj 29.06.2010 11:06

Цитата:

Сообщение от kaww
Как найти родитель элемента script

Найти элемент script и взять у него родителя :)

kaww 29.06.2010 11:09

Цитата:

Сообщение от Kolyaj (Сообщение 61608)
Найти элемент script и взять у него родителя :)

КАК найти элемент?:(

Kolyaj 29.06.2010 11:26

Перебрать все элементы script и взять с нужным src. Если конечно скрипт с таким src один на странице.

kaww 29.06.2010 11:35

Kolyaj,
Наверное я "всегда умею правильно задать впрос", но изначально хотел узнать как получить ссылку на script.js т.е
script.js:
var sc = ссылка на скрипт;

, чтобы потом передрать все script на странице и сравнить их по src:
script.js:
var scripts = document.getElementsByTagName('script');	

for (var i=0;i<scripts.length;i++) {
	
	if (scripts[i].src==sc.src) alert('!');
}

Kolyaj 29.06.2010 11:42

kaww,
ну сколько можно тупить, в самом деле?

var scripts = document.getElementsByTagName('script'); 
for (var i=0;i<scripts.length;i++) {
    if (scripts[i].src == 'http://myhost.ru/script.js') alert('!');
}

kaww 29.06.2010 11:45

Цитата:

Сообщение от Kolyaj (Сообщение 61622)
kaww,
ну сколько можно тупить, в самом деле?

var scripts = document.getElementsByTagName('script'); 
for (var i=0;i<scripts.length;i++) {
    if (scripts[i].src == 'http://myhost.ru/script.js') alert('!');
}

Действительно, сколько можно. Это ппц!:) Всем спасибо!


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