Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   вызов внешнего скрипта из функции (https://javascript.ru/forum/dom-window/19050-vyzov-vneshnego-skripta-iz-funkcii.html)

Rembrant 24.07.2011 18:47

вызов внешнего скрипта из функции
 
Здравствуйте. В body html-файла есть код:
<div>
<p><a id="player" style="display: block; width: 640px; height: 390px;"></a></p>
<script src="http://www.***/player.min.js?id=player&amp;stream=chan41" type="text/javascript"></script>
</div>

Таким образом на страницу подгружается видеоплеер с содержимым. (Только так, с использованием блока в <a>).

Моя проблема заключается в том, что src скрипта должен сразу определиться динамически. То есть, как я понимаю, этот код из body нужно как-то перенести внутрь функции.

Пробовал такие варианты:
function addPlayer() {
	var url=''; //как-то определяем
	var test0=document.createElement("div");
	test0.innerHTML='<p><a id="player" style="display: block; width: 640px; height: 390px;"></a></p>
<script src="'+url+'" type="text/javascript"></script>';
	document.body.appendChild(test0);
}
- в таком случае браузер распознаёт вложенный <script></script> в коде и ничего не работает.

<HEAD>
<script type="text/javascript">
	window.onload = function () {
		var url=''; //как-то определяем
document.getElementById('test1').src='url;
		document.getElementById('test1').src=url;		
	}
</script>
</HEAD>

<body> 
<div>
	<p><a id="player" style="display: block; width: 640px; height: 390px;"></a></p>
	<script id="test1" type="text/javascript" ></script> 
</div>
</body>
- здесь предопределяю скрипт и потом задаю его src. Просто ничего не происходит.
Возможно, есть другие варианты, только пока их не вижу. Прошу подсказать, как решить проблему.

dmitriymar 24.07.2011 19:24

<script id="test1" type="text/javascript" ></script> в head и вид <script id="test1" src="" ></script>

Rembrant 25.07.2011 01:13

на всякий случай, вдуг что неправильно понял. в head вставляю
<script id="test1" src="" ></script>

в функции другого скрипта
document.getElementById('test1').src=url;

в body остаётся
<p><a id="player" style="display: block; width: 640px; height: 390px; background-color: #096"></a></p>

к сожалению, так ничего и не происходит. блок остаётся пустым...

dmitriymar 25.07.2011 09:59

вообще ошибок куча:
document.getElementById('test1').src='url;
document.getElementById('test1').src=url;
1 -почему 2 раза?
2 кавычка отктыта но не закрыта
3 зачем она там?....
и практически в каждой строке подобное.......
фаербаг может стоит поставить либо воспользоваться встроенными инструментами браузера для поиска ошибок?

Rembrant 25.07.2011 11:20

фаербагом перепроверил, строчку с кавычкой влепил как-то при переносе сюда. в коде её нет.
блок остаётся пустым, в таком смысле - скрипт подгружает плеер вот сюда "<p><a id="player" style="display: block; width: 640px; height: 390px; background-color: #096"></a></p>" - это если всё писать в body как в самом первом коде. если же пытаться через функцию, он остаётся пустым.
onload не срабатывает

dmitriymar 25.07.2011 11:54

test0.innerHTML='<p><a id="player" style="display: block; width: 640px; height: 390px;"></a></p>
<sc'+'ript src="'+url+'" type="text/javascript"></sc'+'ript>';

Rembrant 25.07.2011 14:20

уже пробовал так, безрезультатно...

dmitriymar 25.07.2011 14:46

в таком варианте между тегами скрипт данные сохраняются-не становятся типа <script></script>
и ещё одно document.body.appendChild(test0); перед test0.innerHTML='....

Rembrant 25.07.2011 16:24

Данные сохраняются, но почему-то всё равно не работает. То что в <a> - отображает на экране, скрипт не хочет.
document.body.innerHTML= тоже пробовал.

dmitriymar 25.07.2011 16:53

значит проблема в скрипте....


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