Strict Standards: Resource ID#35 used as offset, casting to integer (35) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#38 used as offset, casting to integer (38) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Динамическая загрузка скриптов в Opera
ТвойWeb » WebMaster класс » JavaScript » Динамическая загрузка скриптов в Opera

Страниц (2): [1] 2 »
 

1. Дмитрий Б. - 01 Марта, 2006 - 09:43:47 - перейти к сообщению
Никто не знает, как можно Оперу заставить загрузить скрипт мимоходом?
Например, вот такой код:
CODE:
<script>
var a=document.createElement('script');
a.setAttribute('type', 'text/javascript');
a.setAttribute('src', 'script.js');
document.body.appendChild(a);
</script>

отлично идёт в Осле 6.0, Мазе 1.7.4 и даже Нафигаторе 7.0. Опера ошибок не выдаёт и DOM-элемент вроде создаёт, но выполнять скрипт из файла не спешит. Можно ли как-то ещё? document.write не катит, т. к. это надо сделать уже после загрузки документа. Неужели только через iFrame?..
2. ETC - 01 Марта, 2006 - 09:45:58 - перейти к сообщению
htmlText
3. Леголегс - 01 Марта, 2006 - 11:50:02 - перейти к сообщению
innerHTML
4. Digital man 53 - 01 Марта, 2006 - 16:04:16 - перейти к сообщению
Вместо document.body поставить document.documentElement.lastChild. Кстати ваш пример у меня нигде не работал. И опера выдает на нем ошибку "Could not convert undefined or null to object".
5. ETC - 01 Марта, 2006 - 16:09:51 - перейти к сообщению
тьфу ты, меня плющит) (перепутал с Flash-евым TextField.htmlText)
innerHTML конечно...
6. Дмитрий Б. - 02 Марта, 2006 - 06:25:59 - перейти к сообщению
Digital man 53
ETC
В Опере (и только в ней ни работает ни один из вариантов:
CODE:
<html>
<head>
<title>Test...</title>
</head>
<body>
<input type="button" value="Ага" onclick="myfunc();">

<div id="mydiv">&nbsp;</div>

<script type="text/javascript">
<!--
function myfunc()
{
document.getElementById('mydiv').innerHTML='<script type="text/javascript" src="script.js" language="javascript"></script>';
}
//-->
</script>

</body>
</html>

CODE:
<...>
function myfunc()
{
var a=document.createElement('script');
a.setAttribute('type', 'text/javascript');
a.setAttribute('src', 'script.js');
document.getElementById('mydiv').appendChild(a);
}
<...>

Есть ли ещё способ?.. Или я что-то делаю неверно?..
7. ETC - 02 Марта, 2006 - 07:37:53 - перейти к сообщению
CODE:
<html>
<head>
<title>Test...</title>
</head>
<body>

<span id="myspan">&nbsp;</span>

<script type="text/javascript">
<!--
function myfunc()
{
var a=document.createElement('script');
a.setAttribute('type', 'text/javascript');
a.setAttribute('src', 'script.js');
document.getElementById('myspan').appendChild(a);
}
//-->
</script>
<input type="button" value="Ага" onclick="myfunc();">


</body>
</html>
8. Леголегс - 02 Марта, 2006 - 12:22:20 - перейти к сообщению
Дмитрий Б. пишет:
CODE:
function myfunc()
{
document.getElementById('mydiv').innerHTML='<script type="text/javascript" src="script.js" language="javascript"></script>';
}
Ну чего ты как маленький Улыбка Старо как мир:
CODE:
function myfunc()
{
document.getElementById('mydiv').innerHTML='<script type="text/javascript" src="script.js" language="javascript"><'+'/script>';
}
9. ETC - 02 Марта, 2006 - 15:36:28 - перейти к сообщению
Леголегс
Твой пример у меня не работает ни в одном браузере (про script я проверил в первую очередь, не работает). Работающий пример во всех браузерах — чуть выше.
10. Леголегс - 03 Марта, 2006 - 03:17:57 - перейти к сообщению
ETC
Да, это было написано без теста, сорри. Странная проблема. Твой пример не работает в опере 7.20. Поковырялся, получил код, работающий в Mozilla 1.6, Opera 7.20, Opera 8.0 и MSIE 6
CODE:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Мой заголовок</title>
<script type="text/javascript">
function loadscript()
{
document.getElementById('testscript').src="script for loading.js";
}
</script>
</head>
<body>
<script type="text/javascript" id="testscript"></script>
<button onclick="loadscript()">loadscript()</button>
</body>
</html>

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0399]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33