ну, так как я делаю небольшой проект кодирования http-сервера. код наhttp server implentation, страница не отображается должным образом
http://code.google.com/p/reactor/
тока головоломка, когда их просят разобрать страницу с Java Script и CSS. В качестве http-сервера он просто отправляет страницу (скопированную с другого сайта), и она анализируется inproperly. когда простой HTML страницы был разбор, мой светлячок, он показывает ок, однако при разборе более сложной страницы (CSS + JavaScript) страница все проводной так:
ראשי חדשות если (getCookie ('pais999') == NULL) {varisToplayerDouble = "True"; isToplayerDouble = (isToplayerDouble == "True") верно: falsevarToplayerCookieName = 'pais999'; varTopLayerCookieExpiredDays = 1; varToplayerLink = "HTTP: //xads.zedo.com /ads2/c?a=239671;g=0;c=455000000;i=0;x=7168;n=455;s=0;k=http://www.pais.co.il/Pais/Games /Lotto/';varToplayerImpression='http://l4.zedo.com/log/p.gif?a=239671;c=455000000;x=7168;n=455;e=i;i=0;s= 0; г = '+ Math.random(); varToplayerBigPath =' Паиш/January2007/98one_toplayer.swf '; varToplayerSmallPath =' Паиш/January2007/98one_reminder.swf '; varToplayerBigWidth = 1005; varToplayerBigHeight = 500; varToplayerSmallWid е = 100; varToplayerSmallHeight = 100; varToplayerBigLeft = (0 == 0) resWidth/2-ToplayerBigWidth/2: resWidth/2-ToplayerBigWidth/2 + 0varToplayerBigTop = 0; varToplayerSmallLeft = resWidth-ToplayerSmallWidth-0; varToplayerSmallTop = 0; varSecondsToChangeBigToSmall ? = 15;} ElseIf (getCookie ('NF999') == NULL) {varisToplayerDouble = "True"; isToplayerDouble = (isToplayerDouble == "True") верно: falsevarToplayerCookieName = 'NF999'; varTopLayerCookieExpiredDays = 1; varToplayerLink = 'HTTP : //xads.zedo.com/ads2/c а = 238663; г = 0; с = 455000000; = 0; х = 7168; п = 455; s = 0; к = HTTP: //www.new -pharm.co.il/SkiGame/?ToolID=OLJD8O';varToplayerImpression='http://l4.zedo.com/log/p.gif?a=238663;c=455000000;x=7168;n=455; е = я; г = 0; s = 0; г = '+ Math.random(); varToplayerBigPath =' NewFarm/лыжи/995ONE_TopLayer_550x360.swf '; varToplayerSmallPath =' NewFarm/лыжи/995ONE_Reminder_100x100.swf '; varToplayerBigWidth = 550; varToplayerBigHeight = 360; varToplayerSmallWidth = 100; varToplayerSmallHeight = 100; varToplayerBigLeft = (0 == 0) resWidth/2-ToplayerBigWidth/2: resWidth/2-ToplayerBigWidth/2 + 0varTo? playerBigTop = 0; varToplayerSmallLeft = resWidth-ToplayerSmallWidth-0; varToplayerSmallTop = 0; varSecondsToChangeBigToSmall = 15;} ElseIf (1 == 0) {} $ ("divToplayerBig") style.width = ToplayerBigWidth;. $ ("divToplayerBig"). style.height = ToplayerBigHeight; $ ("divToplayerBig") style.left = resWidth/2-ToplayerBigWidth/2;. $ ("divToplayerSmall") style.width = ToplayerSmallWidth;.. $ ("divToplayerSmall") style.height = ToplayerSmallHeight ; $ ("divToplayerSmall") style.right = ToplayerSmallWidthvartopOff = 0; если (ToplayerBigTop> 0) topOff = resHeight-ToplayerBigHeight + ToplayerBigTop; varisMain = FALSE; #divToplayerBig. {положение: абсолютный, справа: 20px; внизу: 1px;} body> div # divToplayerBig {position: fixed;} # divToplayerSmall {position: absolute; right: 20px; bottom: 10px;} body> div # divToplayerSmall {position: fixed;} ראשי | תוצאות LIVE | הימוריספורט | ONE בסלולרי | ONETV | גליצ «ים | BigOne | טוטוווינר | CrazyONE |
, где исходный код HTML является:
ONE: פאר: לאהייתימוכנהלראותאותהמחייכת ראשי חדשות если (getCookie ('pais999') == NULL) {varisToplayerDouble = "True" ; isToplayerDouble = (isToplayerDouble == "True",) верно: falsevarToplayerCookieName = 'pais999'; varTopLayerCookieExpiredDays = 1; varToplayerLink = 'HTTP:? //xads.zedo.com/ads2/c а = 239671; г = 0; C = 455000000; = 0; х = 7168; п = 455; s = 0; к = HTTP: //www.pais.co.il/Pais/Games/Lotto/ '; varToplayerImpression =' HTTP: // l4. zedo.com/log/p.gif?a=239671;c=455000000;x=7168;n=455;e=i;i=0;s=0 ; Г = '+ Math.random(); varToplayerBigPath =' Паиш/January2007/98one_toplayer.swf '; varToplayerSmallPath =' Паиш/January2007/98one_reminder.swf '; varToplayerBigWidth = 1005; varToplayerBigHeight = 500; varToplayerSmallWidth = 100; varToplayerSmallHeight = 100 ; varToplayerBigLeft = (0 == 0)?resWidth/2-ToplayerBigWidth/2: resWidth/2-ToplayerBigWidth/2 + 0varToplayerBigTop = 0; varToplayerSmallLeft = resWidth-ToplayerSmallWidth-0; varToplayerSmallTop = 0; varSecondsToChangeBigToSmall = 15;} ElseIf (getCookie ('NF999') == NULL) { varisToplayerDouble = "True"; isToplayerDouble = (isToplayerDouble == "True") верно: falsevarToplayerCookieName = 'NF999'; varTopLayerCookieExpiredDays = 1; varToplayerLink = "HTTP: //xads.zedo.com/ads2/c а = 238663; г = 0; с = +455000000; = 0; х = 7168; п = 455; s = 0; к = HTTP: //www.new-pharm.co.il/SkiGame/ Toolid = OLJD8O '; varToplayerImpression = «http://l4.zedo.com/log/p.gif?a=238663;c=455000000;x=7168;n=455;e=i;i=0;s=0;z='+Math .random(); varToplayerBigPath = 'NewFarm/лыжи/995ONE_TopLayer_550x360.swf'; varToplayerSmallPath = 'NewFarm/лыжи/995ONE_Reminder_100x100.swf'; varToplayerBigWidth = 550; varToplayerBigHeight = 360; varToplayerSmallWidth = 100; varToplayerSmallHeight = 100; varToplayerBigLeft = (0 = ? = 0) resWidth/2-ToplayerBigWidth/2: resWidth/2-ToplayerBigWidth/2 + 0varToplayerBigTop = 0; varToplayerSmallLeft = resWidth-ToplayerSmallWi DTH-0; varToplayerSmallTop = 0; varSecondsToChangeBigToSmall = 15;.} ElseIf (1 == 0) {} $ ("divToplayerBig") style.width = ToplayerBigWidth; $ ("divToplayerBig") style.height = ToplayerBigHeight;. $ ("divToplayerBig") style.left = resWidth/2-ToplayerBigWidth/2;. $ ("divToplayerSmall") style.width = ToplayerSmallWidth;. $ ("divToplayerSmall") style.height = ToplayerSmallHeight;. $ ("divToplayerSmall"). style.right = ToplayerSmallWidthvartopOff = 0; если (ToplayerBigTop> 0) topOff = resHeight-ToplayerBigHeight + ToplayerBigTop; varisMain = ложь; #divToplayerBig {позицию: абсолютная; справа: 20px; нижний: 1px;} тела> DIV # divToplayerBig {положение: фиксировано;} DIV # divToplayerBig {право: авто; снизу: автоматический; слева: выражение ((- 20-divToplayerBig.offsetWidth + (document.documentElement.clientWidth document.documentElement.clientWidth: document.body.clientWidth) + (ignoreMe2 = документ? ? .documentElement.scrollLeft document.documentElement.scrollLeft: document.body.scrollLeft)) + 'точек'); сверху: выражение ((0-divToplayerBig.offsetHeight-topOff + (document.documentElement.clientHeight документ. documentElement.clientHeight: document.body.clientHeight) + (ignoreMe = document.documentElement.scrollTop document.documentElement.scrollTop: document.body.scrollTop)) + 'точек');} # divToplayerSmall {позицию: абсолютная; справа: 20px ; внизу: 10px;} тела> DIV # divToplayerSmall {позиция: фиксированная;} DIV # divToplayerSmall {право: авто; внизу: авто; слева: выражение ((- 20-divToplayerSmall.offsetWidth + (document.documentElement.clientWidth document.documentElement .clientWidth: document.body.clientWidth) + (ignoreMe2 = document.documentElement.scrollLeft document.documentElement.scrollLeft: document.body.scrollLeft)) + 'точек'); сверху: выражение ((0-divToplayerSmall.offsetHeight + (документ ? .documentElement.clientHeight document.documentElement.clientHeight: document.body.clientHeight) + (ignoreMe = document.documentElement.scrollTop document.documentElement.scrollTop: document.body.scrollTop)) + 'ПВ');} varisTopTrans = (ToplayerBigPath.indexOf ("прозрачный")> - 1) ложно: истинно; varisRemTrans = (ToplayerSmallPath.indexOf ("прозрачный")> - 1) ложно: истинно; vartop1ses sion = 3; vartop2session = 5; InitToplayer (isTopTrans, isRemTrans); window.onload = StartToplayer; ראשי | תוצאות LIVE | הימוריספורט | ONE בסלולרי | ONETV | גליצ'ים | BigONE | טוטוווינר | CrazyONE |
כותרותאחרונותצפובמייקללואיסמנצחבתחרותההטבעותבגמרהתיכונים
19/01/07 19:30
אליכהןלשחקניולקראתבני-יהודה: תיראומהאסוליןעשהלמכביחיפה
19/01/07 18:43
ליגתהעלבכדורסל: המשחקיםחוזריםליוםראשון
19/01/07 17:41
דעה: שחרפארכבריכולהלהתמודדעםשחקניותצמרת
19/01/07 16:49
ארצית: הפועלר"גניצחהאתהשקמה/רמתחן 1: 2, גםראשל"צניצחה
19/01/07 16:45
יובנטוסמעוניינתבכריסטוףמצלדר, שדורש 2.5 Miliondolrlaonh
01/19/07 16:37
Ligthal: Бит "riroslimttarhmhrb -19: 30 Atzlmcbihrtzlih
01/19/07 14:32
Mcbif" ttarhmhrb -18: 30 Athfoalcf "sbaorooh, Llag'obnini
1/19/07 14:45
Hgrlhklhlhfoaliroslimbsminithiol "б: и Ntsfilshltbit
01/19/07 14:37
Lighlaomit: Hfoaliroslimoahintzrtnf Rdobtiko 0: 0
19/01/07 13:46
varswfPeleSmall = newSWFObject ("http://images.one.co.il/images/PeleEmulator/emulator_pelephone_01a.swf", "peleSmall", 160470, "6", "# FFFFFF"); swfPeleSmall.addParam ("качество", "высокий"); swfPeleSmall.addParam ("Режим окна", "прозрачный"); swfPeleSmall.write ("divPeleSmall"); varswfPeleBig = newSWFObject (" Http://images.one.co.il/images/PeleEmulator/emulator_pelephone_02d.swf","peleBig",400,470,"6","#FFFFFF");swfPeleBig.addParam("quality","high «); swfPeleBig.addParam ("Режим окна", "прозрачный"); swfPeleBig.write ("divWithBig");
слава: Lahiitimocnhlraotaothmhiict
Shrfarsifrhl- ОДИН Mhabrbmohhbrgaimsbhmcmathfsidhlttianhgolobin.hisralit, Snitzhhlbsof 1: 2, Idahlmilhodot: "Hkhlhihnfla"
DisplayFlash ("W_S_round_border_pic.swf", "156", "201", "1", «стиль = положение: абсолютное «); Shrfarhozrtmhkbrmoliribth (Reuters)
Matsialon 19/01/20077: 26
Shrfarrsmhhbokr (пятница) Atahdhhisgimhgdolimslhcsgbrh 6: 3,5: 7 и 5: 7 Alttianhgolobinhtzrftiih, занимает 23 в мире.
игра, Shihamorlhiarclfnotbokrbaostrlih, Ndhhakbhgsmofarshfsidhbglltnaimzghaooirbabr, Hslimhkambkscoloaofi.
Ahrishfsidhathmarchhrasonh, Hihnrahsfarbdrchbtohhhhotzh.lftafarhtaorrhohtzlihhlhsootl -1: 1 Athmarcot.bsahhahronhhianitzlhfamiimmmatz'fointcsnabkhnoasotmolhtzrftiih.bsofzhhstlmlh.
Farhbtihhathhaflhlslbsminithgmr (шестнадцатого по величине), Smtfgosbsbtblilhatsbtlnhkozntzobhhmdorgt 3 турнира, Sgbrhhbokralmrihkrilnko.
Faramrhl-
(только часть презентации страницы в Firefox и исходный код страницы HTML)
почему это происходит? что midding в ответ HTTP?
StringBuffer tResponse = new StringBuffer();
tResponse.append("HTTP/1.1 200 OK\n");
tResponse.append("Date: "+new Date().toString() +'\n');
tResponse.append("server: http-reactor/0.1-dev\n");
tResponse.append("last-Modified:"+ d.toString() +'\n');
tResponse.append("Content-Type: text/html; charset=windows-1255\n");
tResponse.append("Accept-Language: he; q=1.0, en; q=0.5:);
tResponse.append("Content-Length: "+tFileContent.length()+'\n');
tResponse.append('\n');
tResponse.append(tFileContent);
public StringBuffer FetchData(String FileName) throws FileNotFoundException{
StringBuffer tFileContent = new StringBuffer();
if (FileName.contains("../"))
throw new SecurityException();
if (FileName.equals("/"))
FileName = "\\index.html";
FileName.replace('/', '\\');
File f = new File(_root + FileName);
Scanner scanner = new Scanner(f);
while(scanner.hasNext())
tFileContent.append(scanner.next());
return generateResponse(tFileContent,f.lastModified());
}
private StringBuffer generateResponse(StringBuffer tFileContent, long l) {
StringBuffer tResponse = new StringBuffer();
Date d = new Date(l);
tResponse.append("HTTP/1.1 200 OK\n");
tResponse.append("Date: "+new Date().toString() +'\n');
tResponse.append("server: http-reactor/0.1-dev\n");
tResponse.append("last-Modified:"+ d.toString() +'\n');
tResponse.append("Content-Type: text/html; charset=windows-1255\n");
tResponse.append("Accept-Language: he; q=1.0, en; q=0.5:);
tResponse.append("Content-Length: "+tFileContent.length()+'\n');
tResponse.append('\n');
tResponse.append(tFileContent);
return tResponse;
}
Вы, кажется, используете форматирование «цитата» вместо форматирования «кода», что для вашего примера не так велико, но опять же, ваши примеры слишком велики. Попробуйте найти минимальный случай, который показывает проблему, с которой вы сталкиваетесь. Вы говорите, что это связано с смешиванием JS и CSS в вашем HTML, поэтому сделайте * короткую * HTML-страницу, на которой есть строка или около того. Кроме того, есть хорошая вероятность, что ваша проблема связана с настройкой 'tFileContent', но вы не указали нам ни одного из кода, который ее устанавливает, или даже того, что его тип. –
Есть ссылка на источник управления – none