sstyle
1. Я юзаю древнюю прогу WinTelnet & FTP Pro. Где взять сейчас - не знаю. Попробуйте поискать нормальный телнет на софтверных сайтах.
2. Написать им в саппорт и привести, например, лог телнета выше.
Ombudsman, защиты быть не может, ибо для выполнения файла js бродилка должна его загрузить.
Ombudsman, пройдемте, товарищ :)
http://chrispederick.com/work/webdeveloper/
Меню Information - View Javascript
А так это обычный текстовый файл - тот же FF по урл нормально показывает.
Сервер настроить. Вот что он сейчас выдает:
telnet www.avtomash-holding.ru 80 GET /cont HTTP/1.0 Host: www.avtomash-holding.ru Accept: text/html HTTP/1.1 406 Not Acceptable Date: Thu, 27 Oct 2005 08:18:56 GMT Server: Apache/1.3.33 (Unix) mod_fastcgi/2.4.0 FrontPage/5.0.2.2623 PHP/4.3.10 mod_gzip/1.3.19.1a mod_ssl/2.8.22 OpenSSL/0.9.7b rus/PL30.20 Alternates: {"cont.php" 1 {type application/x-httpd-php} {length 2257}} Vary: negotiate TCN: list Connection: close Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <HTML><HEAD> <TITLE>406 Not Acceptable</TITLE> </HEAD><BODY> <H1>Not Acceptable</H1> An appropriate representation of the requested resource /cont could not be found on this server.<P> Available variants: <ul> <li><a href="cont.php">cont.php</a> , type application/x-httpd-php</ul> <HR> <ADDRESS>Apache/1.3.33 Server at www.avtomash-holding.ru Port 80</ADDRESS> </BODY></HTML> Connection closed
В выделенной строке должно быть text/html. Читать тут:
http://tranchant.plus.com/notes/multiviews
MacMax, сделайте версию для печати через CSS media="print". Все современные бродилки это понимают. CSS для вывода на экране - media="screen". Т.е. одна и та же страница будет по-разному выводиться на экран и на печать.
12 баллов :)
Тайпсквоттеры, ИМХО. Буковки R и T на клаватуре рядом :)
The WishMaster, вот для Mozilla/Firefox на Javascript:
<html> <head> <script> var gXMLHttpRequest; var url, urls, reqgr, reqgre, gch, querystring; var t; var j = 0; function load() { t = window.open('','res','width=500,height=500,resizable=1'); t.document.open(); t.document.write("<table>"); urls = document.getElementsByTagName("A"); getReq(); } function getReq() { if (j >= urls.length) { t.document.write("</table>"); t.document.close(); return; } url = urls[j].href; reqgr = "info:" + url; reqgre = "info:" + URLencode(url); gch = "6" + GoogleCH(strord(reqgr)); querystring = "http://toolbarqueries.google.com/search?client=navclient-auto&ch=" + gch + "&ie=UTF-8&oe=UTF-8&features=Rank&q=" + reqgre; netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead'); gXMLHttpRequest = new XMLHttpRequest(); gXMLHttpRequest.onload = dwrite; gXMLHttpRequest.open("GET", querystring); gXMLHttpRequest.send(null); } function dwrite() { var temp = gXMLHttpRequest.responseText; var foo = temp.split(":"); var pr = foo[2]; var fpr = pr.split("\n"); t.document.write("<tr>"); t.document.write("<td>" + url + "</td>"); t.document.write("<td>" + fpr[0] + "</td>"); t.document.write("</tr>"); j += 1; getReq(); } function URLencode(sStr) { return escape(sStr).replace(/\+/g, '%2B').replace(/[ ]/g,'+').replace(/\//g,'%2F'); } function strord(string) { var result = new Array(); for(i = 0; i < string.length; i++) { result = string.charCodeAt(0); } return result; } function GoogleCH(url) { var init = 0xE6359A60; var length = url.length; var a = 0x9E3779B9; var b = 0x9E3779B9; var c = 0xE6359A60; var k = 0; var len = length; var mixo = new Array(); while(len >= 12) { a += (url[k+0] +(url[k+1]<<8) +(url[k+2]<<16) +(url[k+3]<<24)); b += (url[k+4] +(url[k+5]<<8) +(url[k+6]<<16) +(url[k+7]<<24)); c += (url[k+8] +(url[k+9]<<8) +(url[k+10]<<16)+(url[k+11]<<24)); mixo = mix(a,b,c); a = mixo[0]; b = mixo[1]; c = mixo[2]; k += 12; len -= 12; } c += length; switch(len) { case 11: c += url[k+10]<<24; case 10: c+=url[k+9]<<16; case 9 : c+=url[k+8]<<8; case 8 : b+=(url[k+7]<<24); case 7 : b+=(url[k+6]<<16); case 6 : b+=(url[k+5]<<8); case 5 : b+=(url[k+4]); case 4 : a+=(url[k+3]<<24); case 3 : a+=(url[k+2]<<16); case 2 : a+=(url[k+1]<<8); case 1 : a+=(url[k+0]); } mixo = mix(a,b,c); if (mixo[2] < 0) return (0x100000000 + mixo[2]); else return mixo[2]; } function mix(a,b,c) { a -= b; a -= c; a ^= (zeroFill(c,13)); b -= c; b -= a; b ^= (a<<8); c -= a; c -= b; c ^= (zeroFill(b,13)); a -= b; a -= c; a ^= (zeroFill(c,12)); b -= c; b -= a; b ^= (a<<16); c -= a; c -= b; c ^= (zeroFill(b,5)); a -= b; a -= c; a ^= (zeroFill(c,3)); b -= c; b -= a; b ^= (a<<10); c -= a; c -= b; c ^= (zeroFill(b,15)); var ret = new Array((a),(b),(c)); return ret; } function zeroFill(a,b) { var z = hexdec(80000000); if (z & a) { a = a>>1; a &= ~z; a |= 0x40000000; a = a>>(b-1); } else { a = a >> b; } return (a); } function hexdec(str) { return parseInt(str,16); } </script> </head> <body> <input type="Submit" onclick="load();"> <!-- список ссылок для проверки --> <a href="http://www.site.ru/page1.htm">http://www.site.ru/page1.htm</a> <a href="http://www.site.ru/page2.htm">http://www.site.ru/page2.htm</a> ..... </body> </html>
Список ссылок можно получить вот этим:
http://home.snafu.de/tilman/xenulink.html
Вставляем список ссылок в странцу со скритптом, открываем страницу в Mozilla/Firefox с диска, жмем пипочку, даем скрипту привилегию, в открывшемся окошке выделяем все, цопим и пастим в кисель.
Sadie, вот тут много инфы по юзабилити (на албанском):
http://psychology.wichita.edu/surl/newsletter.htm
Кузьминкин, незашта :)