Closed Bug 114955 Opened 23 years ago Closed 22 years ago

kbs.co.kr - KBS website uses document.all

Categories

(Tech Evangelism Graveyard :: Other, defect)

x86
Windows XP
defect
Not set
minor

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: ThomasBuffington, Assigned: momoi)

References

()

Details

Attachments

(3 files)

From Bugzilla Helper: User-Agent: Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:0.9.6+) Gecko/20011210 BuildID: 20011210003 The first problem occurs in the scroll bar. Using the JAVAscript console it states on line 20 that the scroller isn't defined. I'm seeing a double of where the headlines are supposed to scroll up the text is frozen that occurs in the URL http://www.kbs.co.kr/haengbok/ Next there are two errors occuring at the scroll program URL. The first occurs on line 59 because the ar has no properties. Next on line 156 the holdspace is not defined. The version of Mozilla I'm using is version 0.9.5+ in build 20011210003 Reproducible: Always Steps to Reproduce: 1. Go to the URL http://www.kbs.ko.kr/ 2. Open up the javascript console 3.
Confirmed. Please refer to the attachment.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Error: holdspace is not defined Source File: http://cyberpr.kbs.co.kr/kbs_sosik/pg_schedule/scroll.html?code=1 Line: 169 Error: event is not defined Source File: http://rki.kbs.co.kr/ Line: 86 Error: checkClick is not defined Source File: http://rki.kbs.co.kr/ Line: 98
Summary: Various problems with KBS online webpage → http://www.kbs.co.kr/ -Various problems with KBS online webpage
OS: Windows ME → Windows XP
Summary: http://www.kbs.co.kr/ -Various problems with KBS online webpage → www.kbs.co.kr Various problems with KBS online webpage
Summary: www.kbs.co.kr Various problems with KBS online webpage → kbs.co.kr Various problems with KBS online webpage
I have made a new attachment below so as to display that the scroller at the top right corner does not scroll the news, programming notes ETC Once the attachment is up I'll send an e-mail to the webmaster over at KBS and see if I can get a response but in general hope to have the site fixed and 100% compatible with all features functioning in the Mozilla/Netscape 6.x browser.
I think the summary in this error could be changed to the scroller & holdspace not being defined but that's only a thought. I am having simlar problems with another webpage using build ID 2002013003 which is version 0.9.8+ with the 2002 home updated version of Windows XP. The errors occur on http://www.dreamx.net/ the following errors were caught in the Javscript console Error: holdspace is not defined Source File: http://www.dreamx.net/main_inc/bestdx/script_main.js Line: 159 Error: newsholdspace is not defined Source File: http://www.dreamx.net/news/script_main.js Line: 13 Error: document.body.insertAdjacentHTML is not a function Source File: http://www.dreamx.net/main_inc/bestdx/script_main.js Line: 69 Error: redeclaration of const kIOServiceProgID Source File: chrome://communicator/content/utilityOverlay.js Line: 1 Even the popup displays improperly.
Summary: kbs.co.kr Various problems with KBS online webpage → kbs.co.kr Various problems with KBS online webpage
These mainly occur with the Javscript either content done in Javscript is missing or is displayed but not displaying. These also show the holdspace errors among others.
Changing the summary as the JAVAscript console now shows document.all I am currently using build 2002041603 which is version 1.0.0+ with the 2002 home updated version of Windows XP Error: document.all has no properties Source File: http://www.kbs.co.kr/js/P_change.js Line: 35 Error: syntax error Source File: http://kbs.co.kr/P_change.js Line: 1 Source Code: <TITLE>Not Found</TITLE><H1>Not Found</H1> The requested object does not exist on this server. The link you followed is either outdated, inaccurate, or the server has been instructed not to let you have it. Please inform the site administrator of the <A H Error: doc.layers has no properties Source File: http://www.kbs.co.kr/news_scroll.html Line: 365 The webmaster has fixed some of the problems but with the new layout of sort the newscroller has a button which say's view source and if I am correct there is a browser snoffer encoded in the view source as the following information appears below when you click on the view source button. <script language="JavaScript"> // Determine browser. var isMinNS4 = (navigator.appName.indexOf("Netscape") >= 0 && parseFloat(navigator.appVersion) >= 4) ? 1 : 0; var isMinIE4 = (document.all) ? 1 : 0; var isMinIE5 = (isMinIE4 && navigator.appVersion.indexOf("5.")) >= 0 ? 1 : 0; //----------------------------------------------------------------------------- // Layer visibility. //----------------------------------------------------------------------------- function hideLayer(layer) { if (isMinNS4) layer.visibility = "hide"; if (isMinIE4) layer.style.visibility = "hidden"; } function showLayer(layer) { if (isMinNS4) layer.visibility = "show"; if (isMinIE4) layer.style.visibility = "visible"; } function isVisible(layer) { if (isMinNS4 && layer.visibility == "show") return(true); if (isMinIE4 && layer.style.visibility == "visible") return(true); return(false); } //----------------------------------------------------------------------------- // Layer positioning. //----------------------------------------------------------------------------- function moveLayerTo(layer, x, y) { if (isMinNS4) layer.moveTo(x, y); if (isMinIE4) { layer.style.left = x; layer.style.top = y; } } function moveLayerBy(layer, dx, dy) { if (isMinNS4) layer.moveBy(dx, dy); if (isMinIE4) { layer.style.pixelLeft += dx; layer.style.pixelTop += dy; } } function getLeft(layer) { if (isMinNS4) return(layer.left); if (isMinIE4) return(layer.style.pixelLeft); return(-1); } function getTop(layer) { if (isMinNS4) return(layer.top); if (isMinIE4) return(layer.style.pixelTop); return(-1); } function getRight(layer) { if (isMinNS4) return(layer.left + getWidth(layer)); if (isMinIE4) return(layer.style.pixelLeft + getWidth(layer)); return(-1); } function getBottom(layer) { if (isMinNS4) return(layer.top + getHeight(layer)); else if (isMinIE4) return(layer.style.pixelTop + getHeight(layer)); return(-1); } function getPageLeft(layer) { if (isMinNS4) return(layer.pageX); if (isMinIE4) return(layer.offsetLeft); return(-1); } function getPageTop(layer) { if (isMinNS4) return(layer.pageY); if (isMinIE4) return(layer.offsetTop); return(-1); } function getWidth(layer) { if (isMinNS4) { if (layer.document.width) return(layer.document.width); else return(layer.clip.right - layer.clip.left); } if (isMinIE4) { if (layer.style.pixelWidth) return(layer.style.pixelWidth); else return(layer.clientWidth); } return(-1); } function getHeight(layer) { if (isMinNS4) { if (layer.document.height) return(layer.document.height); else return(layer.clip.bottom - layer.clip.top); } if (isMinIE4) { if (false && layer.style.pixelHeight) return(layer.style.pixelHeight); else return(layer.clientHeight); } return(-1); } function getzIndex(layer) { if (isMinNS4) return(layer.zIndex); if (isMinIE4) return(layer.style.zIndex); return(-1); } function setzIndex(layer, z) { if (isMinNS4) layer.zIndex = z; if (isMinIE4) layer.style.zIndex = z; } //----------------------------------------------------------------------------- // Layer clipping. //----------------------------------------------------------------------------- function clipLayer(layer, clipleft, cliptop, clipright, clipbottom) { if (isMinNS4) { layer.clip.left = clipleft; layer.clip.top = cliptop; layer.clip.right = clipright; layer.clip.bottom = clipbottom; } if (isMinIE4) layer.style.clip = 'rect(' + cliptop + ' ' + clipright + ' ' + clipbottom + ' ' + clipleft +')'; } function getClipLeft(layer) { if (isMinNS4) return(layer.clip.left); if (isMinIE4) { var str = layer.style.clip; if (!str) return(0); var clip = getIEClipValues(layer.style.clip); return(clip[3]); } return(-1); } function getClipTop(layer) { if (isMinNS4) return(layer.clip.top); if (isMinIE4) { var str = layer.style.clip; if (!str) return(0); var clip = getIEClipValues(layer.style.clip); return(clip[0]); } return(-1); } function getClipRight(layer) { if (isMinNS4) return(layer.clip.right); if (isMinIE4) { var str = layer.style.clip; if (!str) return(layer.style.pixelWidth); var clip = getIEClipValues(layer.style.clip); return(clip[1]); } return(-1); } function getClipBottom(layer) { if (isMinNS4) return(layer.clip.bottom); if (isMinIE4) { var str = layer.style.clip; if (!str) return(layer.style.pixelHeight); var clip = getIEClipValues(layer.style.clip); return(clip[2]); } return(-1); } function getClipWidth(layer) { if (isMinNS4) return(layer.clip.width); if (isMinIE4) { var str = layer.style.clip; if (!str) return(layer.style.pixelWidth); var clip = getIEClipValues(layer.style.clip); return(clip[1] - clip[3]); } return(-1); } function getClipHeight(layer) { if (isMinNS4) return(layer.clip.height); if (isMinIE4) { var str = layer.style.clip; if (!str) return(layer.style.pixelHeight); var clip = getIEClipValues(layer.style.clip); return(clip[2] - clip[0]); } return(-1); } function getIEClipValues(str) { var clip = new Array(); var i; // Parse out the clipping values for IE layers. i = str.indexOf("("); clip[0] = parseInt(str.substring(i + 1, str.length), 10); i = str.indexOf(" ", i + 1); clip[1] = parseInt(str.substring(i + 1, str.length), 10); i = str.indexOf(" ", i + 1); clip[2] = parseInt(str.substring(i + 1, str.length), 10); i = str.indexOf(" ", i + 1); clip[3] = parseInt(str.substring(i + 1, str.length), 10); return(clip); } //----------------------------------------------------------------------------- // Layer scrolling. //----------------------------------------------------------------------------- function scrollLayerTo(layer, x, y, bound) { var dx = getClipLeft(layer) - x; var dy = getClipTop(layer) - y; scrollLayerBy(layer, -dx, -dy, bound); } function scrollLayerBy(layer, dx, dy, bound) { var cl = getClipLeft(layer); var ct = getClipTop(layer); var cr = getClipRight(layer); var cb = getClipBottom(layer); if (bound) { if (cl + dx < 0) dx = -cl; else if (cr + dx > getWidth(layer)) dx = getWidth(layer) - cr; if (ct + dy < 0) dy = -ct; else if (cb + dy > getHeight(layer)) dy = getHeight(layer) - cb; } clipLayer(layer, cl + dx, ct + dy, cr + dx, cb + dy); moveLayerBy(layer, -dx, -dy); } //----------------------------------------------------------------------------- // Layer background. //----------------------------------------------------------------------------- function setBgColor(layer, color) { if (isMinNS4) layer.bgColor = color; if (isMinIE4) layer.style.backgroundColor = color; } function setBgImage(layer, src) { if (isMinNS4) layer.background.src = src; if (isMinIE4) layer.style.backgroundImage = "url(" + src + ")"; } //----------------------------------------------------------------------------- // Layer utilities. //----------------------------------------------------------------------------- function getLayer(name) { if (isMinNS4) return findLayer(name, document); if (isMinIE4) return eval('document.all.' + name); return null; } function findLayer(name, doc) { var i, layer; for (i = 0; i < doc.layers.length; i++) { layer = doc.layers[i]; if (layer.name == name) return layer; if (layer.document.layers.length > 0) { layer = findLayer(name, layer.document); if (layer != null) return layer; } } return null; } //----------------------------------------------------------------------------- // Window and page properties. //----------------------------------------------------------------------------- function getWindowWidth() { if (isMinNS4) return(window.innerWidth); if (isMinIE4) return(document.body.clientWidth); return(-1); } function getWindowHeight() { if (isMinNS4) return(window.innerHeight); if (isMinIE4) return(document.body.clientHeight); return(-1); } function getPageWidth() { if (isMinNS4) return(document.width); if (isMinIE4) return(document.body.scrollWidth); return(-1); } function getPageHeight() { if (isMinNS4) return(document.height); if (isMinIE4) return(document.body.scrollHeight); return(-1); } function getPageScrollX() { if (isMinNS4) return(window.pageXOffset); if (isMinIE4) return(document.body.scrollLeft); return(-1); } function getPageScrollY() { if (isMinNS4) return(window.pageYOffset); if (isMinIE4) return(document.body.scrollTop); return(-1); } </script> <script language="JavaScript"> //***************************************************************************** // Scroller constructor. //***************************************************************************** function Scroller(x, y, width, height, border, padding) { this.x = x; this.y = y; this.width = width; this.height = height; this.border = border; this.padding = padding; this.items = new Array(); this.created = false; // Set default colors. this.fgColor = "#000000"; this.bgColor = "#F4F4F4"; this.bdColor = "#F4F4F4"; // Set default font. this.fontFace = "Arial,Helvetica"; this.fontSize = "2"; // Set default scroll timing values. this.speed = 60; this.pauseTime = 1000; // Define methods. this.setColors = scrollerSetColors; this.setFont = scrollerSetFont; this.setSpeed = scrollerSetSpeed; this.setPause = scrollersetPause; this.addItem = scrollerAddItem; this.create = scrollerCreate; this.show = scrollerShow; this.hide = scrollerHide; this.moveTo = scrollerMoveTo; this.moveBy = scrollerMoveBy; this.getzIndex = scrollerGetzIndex; this.setzIndex = scrollerSetzIndex; this.stop = scrollerStop; this.start = scrollerStart; } //***************************************************************************** // Scroller methods. //***************************************************************************** function scrollerSetColors(fgcolor, bgcolor, bdcolor) { if (this.created) { alert("Scroller Error: Scroller has already been created."); return; } this.fgColor = fgcolor; this.bgColor = bgcolor; this.bdColor = bdcolor; } function scrollerSetFont(face, size) { if (this.created) { alert("Scroller Error: Scroller has already been created."); return; } this.fontFace = face; this.fontSize = size; } function scrollerSetSpeed(pps) { if (this.created) { alert("Scroller Error: Scroller has already been created."); return; } this.speed = pps; } function scrollersetPause(ms) { if (this.created) { alert("Scroller Error: Scroller has already been created."); return; } this.pauseTime = ms; } function scrollerAddItem(str) { if (this.created) { alert("Scroller Error: Scroller has already been created."); return; } this.items[this.items.length] = str; } function scrollerCreate() { var start, end; var str; var i, j; var x, y; if (!isMinNS4 && !isMinIE4) return; // On first scroller, start interval timer. if (scrollerList.length == 0) setInterval('scrollerGo()', scrollerInterval); // Create the scroller only once. if (this.created) { alert("Scroller Error: Scroller has already been created."); return; } this.created = true; // Copy first item to the end of the list, this lets us scroll from the last // defined item to the first without jumping. this.items[this.items.length] = this.items[0]; // Set up HTML code for item text. start = '<table border=0' + ' cellpadding=' + (this.padding + this.border) + ' cellspacing=0' + ' width=' + this.width + ' height=' + this.height + '>' + '<tr><td>' + '<font' + ' color="' + this.fgColor + '"' + ' face="' + this.fontFace + '"' + ' size=' + this.fontSize + '>'; end = '</font></td></tr></table>'; // Build the layers. if (isMinNS4) { this.baseLayer = new Layer(this.width); this.scrollLayer = new Layer(this.width, this.baseLayer); this.scrollLayer.visibility = "inherit"; this.itemLayers = new Array(); for (i = 0; i < this.items.length; i++) { this.itemLayers[i] = new Layer(this.width, this.scrollLayer); this.itemLayers[i].document.open(); this.itemLayers[i].document.writeln(start + this.items[i] + end); this.itemLayers[i].document.close(); this.itemLayers[i].visibility = "inherit"; } // Set background colors. setBgColor(this.baseLayer, this.bdColor); setBgColor(this.scrollLayer, this.bgColor); } if (isMinIE4) { i = scrollerList.length; str = '<div id="scroller' + i + '_baseLayer"' + ' style="position:absolute;' + ' background-color:' + this.bdColor + ';' + ' width:' + this.width + 'px;' + ' height:' + this.height + 'px;' + ' overflow:hidden;' + ' visibility:hidden;">\n' + '<div id="scroller' + i + '_scrollLayer"' + ' style="position:absolute;' + ' background-color: ' + this.bgColor + ';' + ' width:' + this.width + 'px;' + ' height:' + (this.height * this.items.length) + 'px;' + ' visibility:inherit;">\n'; for (j = 0; j < this.items.length; j++) { str += '<div id="scroller' + i + '_itemLayers' + j + '"' + ' style="position:absolute;' + ' width:' + this.width + 'px;' + ' height:' + this.height + 'px;' + ' visibility:inherit;">\n' + start + this.items[j] + end + '</div>\n'; } str += '</div>\n' + '</div>\n'; // Insert HTML code at end of page. For IE4, need to scroll window to // end of page, insert and scroll back to correct bug. if (!isMinIE5) { x = getPageScrollX(); y = getPageScrollY(); window.scrollTo(getPageWidth(), getPageHeight()); } document.body.insertAdjacentHTML("beforeEnd", str); if (!isMinIE5) window.scrollTo(x, y); // Get handles to each layer. this.baseLayer = getLayer("scroller" + i + "_baseLayer"); this.scrollLayer = getLayer("scroller" + i + "_scrollLayer"); this.itemLayers = new Array(); for (j = 0; j < this.items.length; j++) this.itemLayers[j] = getLayer("scroller" + i + "_itemLayers" + j); } // Position and clip base and scroll layers. moveLayerTo(this.baseLayer, this.x, this.y); clipLayer(this.baseLayer, 0, 0, this.width, this.height); moveLayerTo(this.scrollLayer, this.border, this.border); clipLayer(this.scrollLayer, 0, 0, this.width - 2 * this.border, this.height - 2 * this.border); // Position and clip each item layer. x = 0; y = 0; for (i = 0; i < this.items.length; i++) { moveLayerTo(this.itemLayers[i], x, y); clipLayer(this.itemLayers[i], 0, 0, this.width, this.height); y += this.height; } // Set up scrolling parameters. this.stopped = false; this.currentY = 0; this.stepY = this.speed / (1000 / scrollerInterval); this.stepY = Math.min(this.height, this.stepY); this.nextY = this.height; this.maxY = this.height * (this.items.length - 1); this.paused = true; this.counter = 0; // Add to global list. scrollerList[scrollerList.length] = this; // Display it. showLayer(this.baseLayer); } function scrollerShow() { if (this.created) showLayer(this.baseLayer); } function scrollerHide() { if (this.created) hideLayer(this.baseLayer); } function scrollerMoveTo(x, y) { if (this.created) moveLayerTo(this.baseLayer, x, y); } function scrollerMoveBy(dx, dy) { if (this.created) moveLayerBy(this.baseLayer, dx, dy); } function scrollerGetzIndex() { if (this.created) return(getzIndex(this.baseLayer)); else return(0); } function scrollerSetzIndex(z) { if (this.created) setzIndex(this.baseLayer, z); } function scrollerStart() { this.stopped = false; } function scrollerStop() { this.stopped = true; } //***************************************************************************** // Code for scrolling. //***************************************************************************** // An array is used to hold a pointer to each scroller that is defined. The // scrollerGo() function runs at regular intervals and updates each scroller // in this list. var scrollerList = new Array(); var scrollerInterval = 20; function scrollerGo() { var i; // Update each scroller object in the list. for (i = 0; i < scrollerList.length; i++) { // If stopped, skip. if (scrollerList[i].stopped); // If paused, update counter. else if (scrollerList[i].paused) { scrollerList[i].counter += scrollerInterval; if (scrollerList[i].counter > scrollerList[i].pauseTime) scrollerList[i].paused = false; } // Scroll it. else { scrollerList[i].currentY += scrollerList[i].stepY; // Pause it if the next item has scrolled into view. if (scrollerList[i].currentY >= scrollerList[i].nextY) { scrollerList[i].paused = true; scrollerList[i].counter = 0; scrollerList[i].currentY = scrollerList[i].nextY; scrollerList[i].nextY += scrollerList[i].height; } // When we reach the end, start over. if (scrollerList[i].currentY >= scrollerList[i].maxY) { scrollerList[i].currentY -= scrollerList[i].maxY; scrollerList[i].nextY = scrollerList[i].height; } scrollLayerTo(scrollerList[i].scrollLayer, 0, Math.round(scrollerList[i].currentY), false); } } } //***************************************************************************** // Code to handle a window resize. //***************************************************************************** // These variables are used to determine if a resize event is a true one. // Necessary due to a bug in older NS4 releases. var origWidth; var origHeight; // Fix for resize bug. if (isMinNS4) { origWidth = window.innerWidth; origHeight = window.innerHeight; } window.onresize = scrollerReload; function scrollerReload() { // Reload page in case of a browser resize. First make sure it's a true // resize. if (isMinNS4 && origWidth == window.innerWidth && origHeight == window.innerHeight) return; window.location.href = window.location.href; } </script> <script language="JavaScript"> var myScroller1 = new Scroller(0, 0, 196, 100, 0, 0); myScroller1.setColors("#006600", "#ccffcc", "#009900"); myScroller1.setFont("Verdana,Arial,Helvetica", 2); myScroller1.addItem("<iframe src='http://www.kbs.co.kr/news9/news_nw.html' width='196' scrolling='no' frameborder='0' leftmargin='10' bgcolor='#F4F4F4' marginheight='5' marginwidth='0'></iframe>"); myScroller1.addItem("<iframe src='http://www.kbs.co.kr/news9/sportsnews_nw.html' width='196' scrolling='no' frameborder='0' leftmargin='10' marginheight='5' marginwidth='0'></iframe>"); myScroller1.addItem("<iframe src='http://www.kbs.co.kr/rkinews/rkinews_nw.html' width='196' scrolling='no' frameborder='0' leftmargin='10' marginheight='5' marginwidth='0'></iframe>"); function runmikescroll() { var layer; var mikex, mikey; // Locate placeholder layer so we can use it to position the scrollers. layer = getLayer("placeholder"); mikex = getPageLeft(layer); mikey = getPageTop(layer); // Create the first scroller and position it. myScroller1.create(); myScroller1.hide(); myScroller1.moveTo(mikex, mikey); myScroller1.setzIndex(100); myScroller1.show(); } window.onload=runmikescroll </script> <div id="placeholder" style="position:relative; width:420px; height:32px;">&nbsp;</div><input type=button name=simabuttonviewsource value="View Source" onClick='window.location="view-source:"+window.location.href'>
Summary: kbs.co.kr Various problems with KBS online webpage → kbs.co.kr - KBS website uses document.all
Using Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3b) Gecko/20030102 with the home updated service pack one Windows XP OS I have frequently checked every section and opened the JAVAscript console. There are no longer any errors being reported of document.all showing up. Setting resolution to fixed.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
QA Contact: ruixu → ylong
Korean bugs. Moving to Other.
Component: Asian → Other
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: