Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Подгрузка данных в Opera и Mozilla


Автор: kapusta 2.3.2006, 23:49
Прошу помощи. Ниже небольшой простенький пример подгрузки содержимого страницы. В ИЕ все работает. Но в опере и мозилле данный код не работает. Как я понял, не удается сменить src для элемента, где лежит скрипт, что было установлено вставкой простой проверки. Быть может я делаю что-то некорректно.

Код

<head>
<title>Untitled Document</title>
</head>

<BODY>
<script>
var source = new Array();
source[0]="1.js";
source[1]="2.js";

function Click(i) 
{

document.getElementById("TextInternalPage").innerHTML="Подождите, страница загружается...";

document.getElementById("InternalPageScript").src = source[i];
//Поменяли скрипт и тут же проверяем
if (document.getElementById("InternalPageScript").src == source[i])
    alert("eee");
else
                alert("noo");
}

function refresh() 
{
element("TextInternalPage").innerHTML=text;
}
</script>

<span onClick="Click(0);">Загрузить страницу 1</span>
<span onClick="Click(1);">Загрузить страницу 2</span>
<span id="TextInternalPage"></span>
</BODY>
<script id="InternalPageScript" type='text/javascript' language="JavaScript" src='1.js'></script>
<script>
element("TextInternalPage").innerHTML=text;
</SCRIPT>

Автор: Ciber SLasH 3.3.2006, 02:32
preloadScripts.htm:
Код

<!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'>
<meta name="Generator" content='EditPlus 2.21.330'>
<meta name="Author" content='Ciber SLasH'>
<title>JavaScript :: Подзагрузка скриптов</title>
<script type='text/javascript'>
src = [];
src[0] = '1.js';
src[1] = '2.js';

function createScript(src) {
var script = document.createElement('SCRIPT');
    script.type = 'text/javascript';
    script.src = src;
return script;
}

function changeScript() {
var script = jsDIV.childNodes[0];
    if (script.src.indexOf(src[0]) != -1) {
        jsDIV.replaceChild(createScript(src[1]), script);
    } else {
        jsDIV.replaceChild(createScript(src[0]), script);
    }
}

onload = function () {
    jsDIV = document.getElementById('js');
    jsDIV.appendChild( createScript(src[0]) );
}
</script>
</head>

<body>
<div id='js'></div>
<input type="button" onClick='alert(testValue)' value="Показать значение">
<input type="button" onClick='changeScript()' value="Сменить скрипт">
<input type="button" onClick='alert(jsDIV.childNodes[0].src)' value="Показать адрес скрипта">
</body>
</html>

1.js:
Код

testValue = 'Value from "1.js"';

2.js:
Код

testValue = 'Value from "2.js"';

Автор: kapusta 4.3.2006, 00:49
Премного благодарен. разобрался!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)