Ваша глобальная переменная в порядке (если глобальные переменные в порядке; настоятельно рекомендуем избегать их).
Думаю, проблема в функции setFileName
, у вас там очень странные операции. Некоторые комментарии:
function setFileName(name){
var fileName = name;
// document.getElementById("body").innerHTML = fileName;
document.getElementById("body").innerHTML = flag;
// ^-- Do you *really* have an element on the page with the id="body"?
// This will not change the `body` element of the page (unless you've given it that id).
if(flag == 1){
top.parent.frame2.location = fileName;
document.getElementById("body").innerHTML = fileName;
// ^--- This will replace the content of the element with id="body" with
// the text of the filename (it will not retrieve the file)
}
else{
top.parent.frame2.location = "simpletree.html";
document.getElementById("body").innerHTML = "simpletree.html";
// ^--- This will replace the contents of the element with id="body"
// with the text "simpletree.html", it will not retrieve the file
}
// parent.frame2.location = fileName;
}
Установка innerHTML
элемента изменяет его содержимое на фактический текст, который вы назначаете. Он не загружает страницу и не помещает туда содержимое страницы. Для этого вам нужно будет использовать iframe
или ajax для загрузки содержимого страницы (с сервера того же источника), а затем назначить полученный текст / разметку.