Forum Moderators: open
function printPageGroups ()
{
var i=0,ctr=0;
ctr = PageGroupObjectArray.length;
for ( i=0 ; i < ctr ; i++)
{
document.write ( ' <FONT size=1><a href="javascript:printGroupPage(\'' + PageGroupObjectArray[i].groupName + '\')">' + PageGroupObjectArray[i].groupName + '</A></FONT> ¦');
}
}
function printGlobalMenu ()
{
var i=0,ctr=0;
ctr = GlobalMenuObjectArray.length;
for ( i=0 ; i < ctr ; i++)
{
document.write ( ' <a href="javascript:LoadGlobalPage(\''+ GlobalMenuObjectArray[i].url + '\')">' + GlobalMenuObjectArray[i].title + ' </A> ¦');
}
}
function createPage ( StartPageNumber,title )
{
newdocument= window.document
newdocument.write ('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">');
newdocument.write('<html><head> <link href="style/style.css" rel="stylesheet" type="text/css"> ');
newdocument.write('<script src="js/schema.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/pageobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/newsobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/blogsobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/bookmarkobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/functions.js" language="javascript" type="text/javascript">');
newdocument.write ('</script><title>Untitled</title> </head> <body>');
newdocument.write ( '<script language="javascript"> createPageList(' + StartPageNumber + ',"' + title + '"); </script>');
newdocument.write ('</body> </html>');
newdocument.close();
}
function LoadBodyPage ( url )
{
top.body.location = url;
}
function LoadGlobalPage ( url )
{
top.body.location = url;
top.linksFrame.location = "blank.htm";
}
function LoadBodyPageFromList ( listName )
{
alert (document.form1.Select1.selectedIndex );
alert (document.form1.Select1.options[document.form1.Select1.selectedIndex].value);
top.body.location = document.form1.Select1.options[document.form1.Select1.selectedIndex].value;
}
function createPageList( StartPageNumber,title )
{
var ctr = 0;
var eol = false;
var eleCtr = 0;
var nextStartNumber = 0;
var i=0;
var nextNumber = 0;
ctr = PageObjectArray.length - StartPageNumber;
document.write ('<TABLE width=150 CELLSPACING=0 CELLPADDING=0 borderColor=#d9d9d9 borderColorDark=#d9d9d9 borderColorLight=#d9d9d9 border=1><TR><TD bgcolor=#e0e0e0>') ;
document.write ('<strong> <font color=black size=1> ' + title + ' </font> </strong></TD></TR>');
eol = true;
for ( i=0 ; i < ctr ; i++)
{
if ( PageObjectArray[i+StartPageNumber].pageGroup == title )
{
eleCtr = eleCtr + 1;
if ( eleCtr <= numberOfMenuItems )
{
if ( eleCtr == 1)
{
top.body.location = PageObjectArray[StartPageNumber+i].url;
}
document.write ( '<TR><TD><strong><FONT size=1><A href="javascript:LoadBodyPage(\'' + PageObjectArray[i+StartPageNumber].url + '\');"> ' + PageObjectArray[i+StartPageNumber].title + '</A></FONT> </strong></TD></TR>');
eol = true;
}
else
{
eol = false;
nextStartNumber = StartPageNumber+i;
nextNumber = nextStartNumber;
break;
}
}
}
document.write ( '<TR><TD bgcolor=#e0e0e0><strong><FONT size=1>')
// Previous
if ( StartPageNumber!= 0 )
{
eleCtr = 0;
for ( i=StartPageNumber-1 ; i >= 0 ; i--)
{
if ( PageObjectArray[i].pageGroup == title)
{
eleCtr = eleCtr + 1;
if ( eleCtr == numberOfMenuItems )
{
nextStartNumber = i;
break;
}
}
}
document.write ('<A href="javascript:createPage(' + nextStartNumber + ',\'' + title + '\')" > <<<< </A>');
}
document.write ('<A href="javascript:createPage(0,'+'\'' + title + '\')" > Home </A>');
// Next
if ( eol == false)
{
document.write ( '<A href="javascript:createPage(' + (nextNumber) + ',\'' + title + '\')" > >>>> </A>');
}
document.write('</FONT></strong></TD></TR></TABLE>')
}
// -----------------------------------------------------------------------------
// Page Creating Functions
// -----------------------------------------------------------------------------
function printGroupPage ( groupName )
{
doc = top.linksFrame.window.document;
doc.write ( ' <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> ');
doc.write ( ' <link href="style/style.css" rel="stylesheet" type="text/css"> ');
doc.write ( ' <script src="js/schema.js" language="javascript" type="text/javascript"></script>' );
doc.write ( ' <script src="js/pageobjData.js" language="javascript" type="text/javascript"></script> ');
doc.write ( ' <script src="js/newsobjData.js" language="javascript" type="text/javascript"></script> ');
doc.write('<script src="js/blogsobjData.js" language="javascript" type="text/javascript"></script>');
doc.write ( ' <script src="js/bookmarkobjData.js" language="javascript" type="text/javascript"></script> ');
doc.write ( ' <script src="js/functions.js" language="javascript" type="text/javascript"></script> ');
doc.write ( ' <title>' + groupName + '</title> </head> <body > <script language="javascript">');
doc.write ( ' createPageList(0, "' + groupName + '"); </script> </body> </html>');
doc.close();
}
// -----------------------------------------------------------------------------
// News Functions
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
// News Links
// -----------------------------------------------------------------------------
function createNewsList( StartPageNumber ,title)
{
var ctr = 0;
var eol = false;
var eleCtr = 0;
var nextStartNumber = 0;
var i=0;
ctr = NewsObjectArray.length - StartPageNumber;
var prevNumber=0;
var nextNumber=0;
document.write ('<TABLE width=150 CELLSPACING=0 CELLPADDING=0 borderColor=#d9d9d9 borderColorDark=#d9d9d9 borderColorLight=#d9d9d9 border=1><TR><TD bgcolor=#e0e0e0>') ;
document.write ('<strong> <font color=black size=1> ' + title + ' </font> </strong></TD></TR>');
eol = true;
for ( i=0 ; i < ctr ; i++)
{
eleCtr = eleCtr + 1;
if ( eleCtr <= numberOfNewsItems )
{
if ( eleCtr == 1)
{
top.body.location = NewsObjectArray[StartPageNumber+i].url;
}
document.write ( '<TR><TD><strong><FONT size=1>"' + NewsObjectArray[i+StartPageNumber].text + '"...<A href="javascript:LoadBodyPage(\'' + NewsObjectArray[i+StartPageNumber].url + '\');"> ' + NewsObjectArray[i+StartPageNumber].title + '</A></FONT> </strong></TD></TR>');
eol = true;
}
else
{
eol = false;
nextStartNumber = StartPageNumber+i;
nextNumber = nextStartNumber;
break;
}
}
document.write ( '<TR><TD bgcolor=#e0e0e0><strong><FONT size=1>' );
// Prev
if ( StartPageNumber!= 0 )
{
eleCtr = 0;
for ( i=StartPageNumber-1 ; i >= 0 ; i--)
{
eleCtr = eleCtr + 1;
if ( eleCtr == numberOfNewsItems )
{
nextStartNumber = i;
break;
}
}
document.write ( '<A href="javascript:printNewsLinksPage(' + nextStartNumber + ',\'' + title + '\')" > <<<< </A>');
}
// Home
document.write ( '<A href="javascript:printNewsLinksPage(0,'+'\'' + title + '\')" > Home </A>');
// Next
if ( eol == false)
{
document.write ( '<A href="javascript:printNewsLinksPage(' + (nextNumber) + ',\'' + title + '\')" > >>>> </A>');
}
document.write('</FONT></strong></TD></TR></TABLE>')
}
// -----------------------------------------------------------------------------
// News Links Page
// -----------------------------------------------------------------------------
/*
function printNewsLinksPage2 ()
{
var groupName="News@ChinniInc";
doc = top.linksFrame.window.document;
doc.write ( ' <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> ');
doc.write ( ' <link href="style/style.css" rel="stylesheet" type="text/css"> ');
doc.write ( ' <script src="js/schema.js" language="javascript" type="text/javascript"></script>' );
doc.write ( ' <script src="js/pageobjData.js" language="javascript" type="text/javascript"></script> ');
doc.write ( ' <script src="js/bookmarkobjData.js" language="javascript" type="text/javascript"></script> ');
doc.write ( ' <script src="js/newsobjData.js" language="javascript" type="text/javascript"></script> ');
doc.write ( ' <script src="js/functions.js" language="javascript" type="text/javascript"></script> ');
doc.write ( ' <title>' + groupName + '</title> </head> <body > <script language="javascript">');
doc.write ( ' createNewsList(0, "' + groupName + '"); </script> </body> </html>');
doc.close();
}
*/
function printNewsLinksPage (StartPageNumber,title)
{
newdocument= top.linksFrame.window.document
newdocument.write ('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">');
newdocument.write('<html><head> <link href="style/style.css" rel="stylesheet" type="text/css"> ');
newdocument.write('<script src="js/schema.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/pageobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/bookmarkobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/newsobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/blogsobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/functions.js" language="javascript" type="text/javascript">');
newdocument.write ('</script><title>Untitled</title> </head> <body>');
newdocument.write ( '<script language="javascript"> createNewsList(' + StartPageNumber + ',"' + title + '"); </script>');
newdocument.write ('</body> </html>');
newdocument.close();
}
////////////////////////////////////////////////////////////////////////////////////////////
// Bookmarks
////////////////////////////////////////////////////////////////////////////////////////////
function createBookMarksList( StartPageNumber,title)
{
var ctr = 0;
var eol = false;
var eleCtr = 0;
var nextStartNumber = 0;
var i=0;
ctr = BookMarkGroupObjectArray.length - StartPageNumber;
var prevNumber=0;
var nextNumber=0;
document.write ('<TABLE width=150 CELLSPACING=0 CELLPADDING=0 borderColor=#d9d9d9 borderColorDark=#d9d9d9 borderColorLight=#d9d9d9 border=1><TR><TD bgcolor=#e0e0e0>') ;
document.write ('<strong> <font color=black size=1> ' + title + ' </font> </strong></TD></TR>');
eol = true;
for ( i=0 ; i < ctr ; i++)
{
eleCtr = eleCtr + 1;
if ( eleCtr <= numberOfBookMarkGroups )
{
if ( eleCtr == 1)
{
printBookMarks(0,BookMarkGroupObjectArray[i+StartPageNumber].groupName);
}
document.write ( '<TR><TD><strong><FONT size=1><A href="javascript:printBookMarks(0,\'' + BookMarkGroupObjectArray[i+StartPageNumber].groupName + '\');"> ' + BookMarkGroupObjectArray[i+StartPageNumber].groupName + '</A></FONT> </strong></TD></TR>');
eol = true;
}
else
{
eol = false;
nextStartNumber = StartPageNumber+i;
nextNumber = nextStartNumber;
break;
}
}
document.write ( '<TR><TD bgcolor=#e0e0e0><strong><FONT size=1>' );
// Prev
if ( StartPageNumber!= 0 )
{
eleCtr = 0;
for ( i=StartPageNumber-1 ; i >= 0 ; i--)
{
eleCtr = eleCtr + 1;
if ( eleCtr == numberOfBookMarkGroups )
{
nextStartNumber = i;
break;
}
}
document.write ( '<A href="javascript:printBookMarksPage(' + nextStartNumber + ',\'' + title + '\')" > <<<< </A>');
}
// Home
document.write ( '<A href="javascript:printBookMarksPage(0,'+'\'' + title + '\')" > Home </A>');
// Next
if ( eol == false)
{
document.write ( '<A href="javascript:printBookMarksPage(' + (nextNumber) + ',\'' + title + '\')" > >>>> </A>');
}
document.write('</FONT></strong></TD></TR></TABLE>')
}
function printBookMarksPage (StartPageNumber,title)
{
newdocument= top.linksFrame.window.document
newdocument.write ('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">');
newdocument.write('<html><head> <link href="style/style.css" rel="stylesheet" type="text/css"> ');
newdocument.write('<script src="js/schema.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/pageobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/bookmarkobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/blogsobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/newsobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/functions.js" language="javascript" type="text/javascript">');
newdocument.write ('</script><title>Untitled</title> </head> <body>');
newdocument.write ( '<script language="javascript"> createBookMarksList(' + StartPageNumber + ',"' + title + '"); </script>');
newdocument.write ('</body> </html>');
newdocument.close();
}
function viewPage ( URL )
{
wind = window.open ("","NewWindow");
wind.location = "bodypage.htm";
}
function printBookMarks ( StartPageNumber, title )
{
var ctr = 0;
var eol = false;
var eleCtr = 0;
var nextStartNumber = 0;
var i=0;
var nextNumber = 0;
ctr = BookMarkObjectArray.length - StartPageNumber;
newdocument = top.body.window.document
newdocument.write ('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">');
newdocument.write('<html><head> <link href="style/style.css" rel="stylesheet" type="text/css"> ');
newdocument.write('<script src="js/schema.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/pageobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/bookmarkobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/newsobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/blogsobjData.js" language="javascript" type="text/javascript"></script>');
newdocument.write('<script src="js/functions.js" language="javascript" type="text/javascript">');
newdocument.write ('</script><title>Untitled</title> </head> <body>');
newdocument.write ('<TABLE width=100% CELLSPACING=0 CELLPADDING=0 borderColor=#d9d9d9 borderColorDark=#d9d9d9 borderColorLight=#d9d9d9 border=1><TR><TD bgcolor=#e0e0e0 align=center>') ;
newdocument.write ('<strong> <font color=black size=1> ' + title + ' BookMarks</font> </strong></TD></TR>');
eol = true;
for ( i=0 ; i < ctr ; i++)
{
if ( BookMarkObjectArray[i+StartPageNumber].bookMarkGroup == title )
{
eleCtr = eleCtr + 1;
if ( eleCtr <= numberOfMenuItems )
{
newdocument.write ( '<TR><TD align=left> <FONT size=2pt>')
newdocument.write ( ' <strong>Title:</strong>' + BookMarkObjectArray[i+StartPageNumber].title + '<br>');
newdocument.write ( ' <strong>URL</strong><A href="javascript:viewPage(\'' + BookMarkObjectArray[i+StartPageNumber].url + '\');"> ' + BookMarkObjectArray[i+StartPageNumber].url + '</A><br>');
if ( BookMarkObjectArray[i+StartPageNumber].description!= "" )
{ newdocument.write ( ' <strong>Description:</strong>' + BookMarkObjectArray[i+StartPageNumber].description + '<br>');}
if ( BookMarkObjectArray[i+StartPageNumber].category!= "" )
{newdocument.write ( ' <strong>Categories:</strong>' + BookMarkObjectArray[i+StartPageNumber].category + '<br>');}
if ( BookMarkObjectArray[i+StartPageNumber].keywords!= "" )
{newdocument.write ( ' <strong>Keywords:</strong>' + BookMarkObjectArray[i+StartPageNumber].keywords + '<br>');}
if ( BookMarkObjectArray[i+StartPageNumber].doa!= "" )
{newdocument.write ( ' <strong>Added on:</strong>' + BookMarkObjectArray[i+StartPageNumber].doa + '<br>');}
newdocument.write ( '</FONT></TD></TR>')
eol = true;
}
else
{
eol = false;
nextStartNumber = StartPageNumber+i;
nextNumber = nextStartNumber;
break;
}
}
}
newdocument.write ( '<TR><TD bgcolor=#e0e0e0><strong><FONT size=1>')
// Previous
if ( StartPageNumber!= 0 )
{
eleCtr = 0;
for ( i=StartPageNumber-1 ; i >= 0 ; i--)
{
if ( BookMarkObjectArray[i].pageGroup == title)
{
eleCtr = eleCtr + 1;
if ( eleCtr == numberOfMenuItems )
{
nextStartNumber = i;
break;
}
}
}
newdocument.write ('<A href="javascript:printBookMarks(' + nextStartNumber + ',\'' + title + '\')" > <<<< </A>');
}
newdocument.write ('<A href="javascript:printBookMarks(0,'+'\'' + title + '\')" > Home </A>');
// Next
if ( eol == false)
{
newdocument.write ( '<A href="javascript:printBookMarks(' + (nextNumber) + ',\'' + title + '\')" > >>>> </A>');
}
newdocument.write('</FONT></strong></TD></TR></TABLE>')
newdocument.write('</body></html>')
newdocument.close();
}
The 'newdocument' is a variable that i used to write in the current document. At any time I only open one document for writing.
Please consider only these two functions:
printGroupPage : This generates the basic html page code and calls the createPageList() function to create links.
createPageList(): This generate the page links from the data in a file.
I could have created a html file to create these links to those pages. If I want to show only 5 links in a page, i would end up adding more html pages.I want to simplify this. And if I want to add a new page group and a new page, I would have to edit the html page. But I do not want to edit the html file everytime I need to add a page or page group. With this approach i just need to add a new line in the data file, which I can automate this using a shell script at the backend.
I applied the same logic for different groups, one to show my book marks, one to show my news/blogs items. I want to maintain my own site with little effort by automating most of the work. These two functions would work for me for any number of pagegroups and pages in the group and limit changes to a datafile.
All the functions are working fine if I test them locally. But when I uploaded them and started using the links, then IE hangs.
The size of all these js functions that I am using are not greater than 30K. I read that the js pages are cached in the browser when they are first loaded and they are not loaded everytime they are referred.
Could someone give me a pointer to understand why IE hangs when I call one of these functions.
Thanks a lot,
Chinni