Есть страница в которой расположен iFrame в той же директории лежит фаил 123.js (и страница которая загружается в iFrame)
Как 123.js вставить в страницу которая загружается в iFrame?
CODE:
<script src="123.js"></script>
Почему то такой метод не работает
Должно работать... Надеюсь, этот код вставляется в загружаемую страницу, а не внутрь тега iFrame?
Полные коды в студию, пожалуйста.
Furax пишет:Надеюсь, этот код вставляется в загружаемую страницу, а не внутрь тега iFrame?
надежды не оправдались )
Подскажи пожалуйста как вставить код из файла в iFrame?
У iFrame есть аттрибут src - в нём прописывается адрес страницы, загружаемой во фрейм. Код между открывающим и закрывающим дескрипторами iframe предназначен для тех браузеров, которые не знают, что делать с iframом. Что тут ещё сказать, я не знаю...
Я не понял: требуется, что ли, загрузить в iframe какую-то страницу и на ней исполнить JS-код? Так если это страница с Твоего же сайта, можно просто на ней и подключить нужную библиотеку, а если с другого домена - так это в принципе невозможно...
1.основная страница
CODE:
<html>
<head>
</head>
<body >
<IFRAME src="top.php" frameborder="1" width="100%" height="10%" name="ifr_top" id="ifr_top">
<IFRAME src="left_up.php" frameborder="1" width="80%" height="70%" name="ifr_left_up" id="ifr_left_up">
</IFRAME>
<IFRAME src="right_up.php" frameborder="1" width="20%" height="70%" name="ifr_right_up" id="ifr_right_up">
</IFRAME>
<br>
<IFRAME src="left_down.php" frameborder="1" width="80%" height="20%" name="ifr_left_down" id="ifr_left_down">
<IFRAME src="right_down.php" frameborder="1" width="20%" height="20%" name="ifr_right_down" id="ifr_right_down">
</IFRAME>
</body>
</html>
2.файл left_down.php
CODE:
<html>
<head>
<script src="123.js"></script>
</head>
<body >
<form name="send_msg" >
<input type=text id="msg" name="msg" style="width: 320px" >
<input type="button" name="go_send_msg" value="Сказать" onclick="callServerWrite()" >
</form>
</body>
</html>
3.В файле 123.js описана функция callServerWrite
В итоге при нажатии на кнопку "Сказать" выводится ошибка о том что функция callServerWrite не найдена
Первое - закрыть все теги iframe. Второе - код 123.js покажи; иначе - "не верю".
Furax пишет:Первое - закрыть все теги iframe.
попробую
Furax пишет:Второе - код 123.js покажи; иначе - "не верю".
CODE:
/* Создание нового объекта XMLHttpRequest для общения с Web-сервером */
var readmsghttp = false;
var refresh_lock=false;
try { readmsghttp = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {try {readmsghttp = new ActiveXObject("Microsoft.XMLHTTP");} catch (e2) {readmsghttp = false;}}
if (!readmsghttp && typeof XMLHttpRequest != 'undefined') {readmsghttp = new XMLHttpRequest();}
function callServer() {
refresh_lock=true;
// Создать URL для подключения
var url = "re_test.php";
// Открыть соединение с сервером
readmsghttp.open("POST", url, true);
// Установить функцию для сервера, которая выполнится после его ответа
readmsghttp.onreadystatechange = updateMessage;
// Передать запрос
readmsghttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
readmsghttp.send('zapros=1');
}
var text="";
function updateMessage() {
if (readmsghttp.readyState == 4) {
var response = readmsghttp.responseText.split("|");
text=text+ response[0];
top.document.getElementById("ifr_left_up").contentWindow.document.getElementById("div_message").innerHTML=text;
}
refresh_lock=true;
}
function runOnce(){
if (refresh_lock==false){
callServer();
}
window.setTimeout("runOnce();", 5000);
}
window.setTimeout("runOnce();;", 5000);
браузер IE 8.8
Davinchi
И где в 123.js функция callServerWrite()?
Furax пишет:И где в 123.js функция callServerWrite()?
просто не из того файла взял
вот 123.js
CODE:
/* Создание нового объекта XMLHttpRequest для общения с Web-сервером */
var writemsghttp = false;
var locked=false;
try { writemsghttp = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {try {writemsghttp = new ActiveXObject("Microsoft.XMLHTTP");} catch (e2) {writemsghttp = false;}}
if (!writemsghttp && typeof XMLHttpRequest != 'undefined') {writemsghttp = new XMLHttpRequest();}
function callServerWrite() {
locked=true;
// Создать URL для подключения
var url = "re_test1.php";
// Открыть соединение с сервером
writemsghttp .open("POST", url, true);
// Установить функцию для сервера, которая выполнится после его ответа
writemsghttp .onreadystatechange = updateMessage;
// Передать запрос
writemsghttp .setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
writemsghttp .send('zapros='+document.getElementById("msg").value);
}
var text="";
function updateMessage() {
if (writemsghttp .readyState == 4) {
var response = writemsghttp .responseText.split("|");
text=text+ response[0];
top.document.getElementById("ifr_left_up").contentWindow.document.getElementById("div_message").innerHTML=text;
document.getElementById("msg").value="";
document.getElementById("msg").focus();
}
locked=true;
}
когда запускаю основную страницу и нажимаю кнопку пишет ошибку "Предпологается наличие объекта в строке такой-то"
28 строка? Проблема в отсутствии элемента "div_message" во фрейме "ifr_left_up". (Ну, у меня-то понятно, что там вообще ничего толком нет, ибо и файла у меня этого нет, а у себя проверяй.