Identify as Opera || MSIE5.0 !!!
7 отговора
165 прегледа
Identify as Opera || MSIE5.0 !!!
Nqkoi moje li da mi dade razumno obqsnenie na vyprosa (ako moje i reshenie :-) ) zashto kato dam na Operata(5.12) Identify as Opera koda (dolu) ne raboti, a kato mu dam Identify as MSIE5.0 raboti!!!
V specifikatziqta pishe slednoto:
"In practice Opera also supports Javascript 1.4 with a few exceptions as well as a subset of JScript. Opera only supports the JScript properties when the user agent is set to Microsoft Internet Explorer"
Napravo izpadam v nedoumenie
Paste-vam tzeliq primeren kod na htm-a za da ne se mychite v testvaneto:
<html>
<head>
<title>Test Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="menus" style="position:absolute; left:96px; top:47px; width:161px; height:71px; z-index:1; background-color:#FF66FF; layer-background-color:#FF66FF; border: 1px none #000000; visibility:visible">
<table width="50%" border="1" height="50%" align="left">
<TD> fdgd </TD>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</div>
<Script>
function writer1(){
Obj = eval("document.all.menus");
Obj.style.pixelTop=150;
Obj.style.pixelLeft=200;
}
function writer2(){
// Obj = eval("document.all.menus");
document.all.menus.style.pixelTop=300;
document.all.menus.style.pixelLeft=200;
}
</Script>
<a href="javascript:writer1()">Smqna 1</a>
<a href="javascript:writer2()">Smqna 2 </a>
</body>
</html>
V specifikatziqta pishe slednoto:
"In practice Opera also supports Javascript 1.4 with a few exceptions as well as a subset of JScript. Opera only supports the JScript properties when the user agent is set to Microsoft Internet Explorer"
Napravo izpadam v nedoumenie
Paste-vam tzeliq primeren kod na htm-a za da ne se mychite v testvaneto:
<html>
<head>
<title>Test Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="menus" style="position:absolute; left:96px; top:47px; width:161px; height:71px; z-index:1; background-color:#FF66FF; layer-background-color:#FF66FF; border: 1px none #000000; visibility:visible">
<table width="50%" border="1" height="50%" align="left">
<TD> fdgd </TD>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</div>
<Script>
function writer1(){
Obj = eval("document.all.menus");
Obj.style.pixelTop=150;
Obj.style.pixelLeft=200;
}
function writer2(){
// Obj = eval("document.all.menus");
document.all.menus.style.pixelTop=300;
document.all.menus.style.pixelLeft=200;
}
</Script>
<a href="javascript:writer1()">Smqna 1</a>
<a href="javascript:writer2()">Smqna 2 </a>
</body>
</html>
Re: Identify as Opera || MSIE5.0 !!!
Mi mnogo prosto.
document.all ne e ot neshtata koito Operata (as Opera) razbira...
document.all raboti samo v IE i IE mode na Operata...
Za Operata mojesh da izpolzvash document.GetElementById(object) vmesto document.all.object
(tva ne sam go probval, pisha go malko naizust, ama misla che trebe da bachka)
Just a genius
[email protected]
[линк]
document.all ne e ot neshtata koito Operata (as Opera) razbira...
document.all raboti samo v IE i IE mode na Operata...
Za Operata mojesh da izpolzvash document.GetElementById(object) vmesto document.all.object
(tva ne sam go probval, pisha go malko naizust, ama misla che trebe da bachka)
Just a genius
[линк]
Re: Identify as Opera || MSIE5.0 !!!
Ама то това Identify не служи ли за идентифициране по User-Agent, в смисъл Operata се идентифицира като IE 5.0 пред web server-ите и по този начин може да излъже разни сайтове или проксита, които "харесват" само IE
Целта оправдава средствата
Целта оправдава средствата
Re: Identify as Opera || MSIE5.0 !!!
Zapochvam da si mislq, ce pri Identify as Opera nishto ne se poddyrja :-( Kato mu dam if (document.all) ili pyk .getElementById ne gi razpoznava. Razpoznava samo document, no kato mu napisha document.ALayer i nishto ne stava!!! Udivitelno bih kazal!!!
Inache naistina ne moje da se dobavqt HTML-cheta dinamichno :-(( Moje samo eventualno da se syzdade nova stranitza.
Sled vsichko tova mi idva slednoto zakluchenie na um. Koito iska da polzva Opera da si q identify as MSIE5.0, ako ne shte .... mainata mu :-)
Inache naistina ne moje da se dobavqt HTML-cheta dinamichno :-(( Moje samo eventualno da se syzdade nova stranitza.
Sled vsichko tova mi idva slednoto zakluchenie na um. Koito iska da polzva Opera da si q identify as MSIE5.0, ako ne shte .... mainata mu :-)
Re: Identify as Opera || MSIE5.0 !!!
Ave vsyshtnost towa e golqma glupost i naprawo si e giwa mizeriq i sq userite i sa developerite che shibanata Opera moe se predstawq kakto iska...
Da ne goworim che popodrazbirane pri instalaciq se predstawq kato MSIE /ako ne me lyge pametta/ ama taka go reshili taka go naprawili...
Spored men ne e korektno ama...
Ami moga da te posywetwam da ne izpolzwash USER_AGENT a da si izpolzwash da rechem
id document.all, id document.layers, if document.getElementById("some element") i taka sha si fashtah prowsera ne po ime a po wyzmognosti...
Sq usera kat iska se prai na hityr da duha supata hitrecite si gi znaem....
JAVA lets make things badly and slow!!
Da ne goworim che popodrazbirane pri instalaciq se predstawq kato MSIE /ako ne me lyge pametta/ ama taka go reshili taka go naprawili...
Spored men ne e korektno ama...
Ami moga da te posywetwam da ne izpolzwash USER_AGENT a da si izpolzwash da rechem
id document.all, id document.layers, if document.getElementById("some element") i taka sha si fashtah prowsera ne po ime a po wyzmognosti...
Sq usera kat iska se prai na hityr da duha supata hitrecite si gi znaem....
JAVA lets make things badly and slow!!
Re: Identify as Opera || MSIE5.0 !!!
Аз имах предвид сървърската променлива HTTP_USER_AGENT, дето се записва в логовете на уеб сървърите, иначе клиентската проверка верно най-добре се прави с проверка на document.all, document.layers и т.н.
Целта оправдава средствата
Целта оправдава средствата
Може и
нещо от сорта
var NS=(document.layers)?true:false;
var IE=(document.all && navigator.userAgent.indexOf("Opera")==-1)?true:false;
var Opera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false;
bofh
var NS=(document.layers)?true:false;
var IE=(document.all && navigator.userAgent.indexOf("Opera")==-1)?true:false;
var Opera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false;
bofh
Ne e tam problema :-)
Az si gi detektvam s document.all, layers i getElementById ama rabotata e tam ce zagubenata Opera kogato e na Identify as Opera po neizvestni prichini ne poddyrja tezi imena. Az ot dokumentatziqta ostanah s vpechatlenieto, ce v tozi rejim trqbva da poddyrja document.all i document.layers, a to se okaza, ce neshto ne e nared. Za tova kakto kazva wili98 -> po default Identify as MSIE i tolkoz :-)