JS
15 отговора
371 прегледа
JS
както вече и в кайро е известно - малко съм скаран със %субдж%.
е те тука е парчето което ми прай ръбове. тоесто то не прави - аз не знам как да го комбинирам. както всички се досещат първия онклик отваря прозорец с фиксиран размер, втория си е стандартната проверка на макромедия за браузър. като се кликне на линка обаче се изпълнява само първия онклик и той си зарежда урлто в хрефа. как да натъпча тая проверка в хрефа че да се изпълни тя вместо урл защото след като се изпълни проверката си се зареждат от нея съответните урлта? нямаше ли там някаква история <a href=javascript:dryn dryn>?
<a href="bg-inside.html" onclick="NewWindow(this.href,'bgwin','780','400','no');return false;MM_checkBrowser(5.0,1,2,5.0,1,2,2,'bg-inside.html','nobrowser.html');return document.MM_returnValue">áúëãàðñêè</a>
| и майка ти не е права...
| tldstudios.com
е те тука е парчето което ми прай ръбове. тоесто то не прави - аз не знам как да го комбинирам. както всички се досещат първия онклик отваря прозорец с фиксиран размер, втория си е стандартната проверка на макромедия за браузър. като се кликне на линка обаче се изпълнява само първия онклик и той си зарежда урлто в хрефа. как да натъпча тая проверка в хрефа че да се изпълни тя вместо урл защото след като се изпълни проверката си се зареждат от нея съответните урлта? нямаше ли там някаква история <a href=javascript:dryn dryn>?
<a href="bg-inside.html" onclick="NewWindow(this.href,'bgwin','780','400','no');return false;MM_checkBrowser(5.0,1,2,5.0,1,2,2,'bg-inside.html','nobrowser.html');return document.MM_returnValue">áúëãàðñêè</a>
| и майка ти не е права...
| tldstudios.com
Re: JS
Аве зех да пиша тука разни работи... ама май ми се губи идеята...
Начи... требе да се отвори първо bg-insade.html в нов прозорец в който да се изпълни MM_checkBrowser... правилно ли съм схванал? Че мноо ми се доспа от таз биричка на обед... :-)
Ми ако е така, сложи NewWindow в href-a на <а>-то, така:
<a href="javascript: NewWindow...">adsadsadsad</a>
А MM_checkBrowser го сложи на onLoad на bg-insade.html.
<body onLoad="MM_checkBrowser...">
Нещо такова де...
Ааа... поправка... Начи на NewWindow си му дай за първи параметър нормално URL вместо това this.href
-------------------------------------
Oh my God, they killed Kenny!
You bastards!
Начи... требе да се отвори първо bg-insade.html в нов прозорец в който да се изпълни MM_checkBrowser... правилно ли съм схванал? Че мноо ми се доспа от таз биричка на обед... :-)
Ми ако е така, сложи NewWindow в href-a на <а>-то, така:
<a href="javascript: NewWindow...">adsadsadsad</a>
А MM_checkBrowser го сложи на onLoad на bg-insade.html.
<body onLoad="MM_checkBrowser...">
Нещо такова де...
Ааа... поправка... Начи на NewWindow си му дай за първи параметър нормално URL вместо това this.href
-------------------------------------
Oh my God, they killed Kenny!
You bastards!
Редактирано от t.s. на
Re: JS
Бах, нещо не можах да загрея какво искаш да стане...
. Искаш в новия прозорец да ти се отвори различен документ според типа браузер ли? Я пак обясни, ама бавно ;)) Да се "изпълни проверка вместо урл" не ми говори нищо ;)
The#Project - нов брой с нов дизайн
The#Project - нов брой с нов дизайн
Re: JS
не ;-)
bg-inside.html дефакто не ми трябва - вместо него слагам да речем #, само че това не ми върши работа. искам след като първия скрипт отвори прозореца, в него да се изпълни проверката. не ми върши работа да я викам от външен файл onload. затова се чудя как да го накарам вместо bg-inside.html да изпълни проверката на браузъра.
| tldstudios.com
| thedezine.com
bg-inside.html дефакто не ми трябва - вместо него слагам да речем #, само че това не ми върши работа. искам след като първия скрипт отвори прозореца, в него да се изпълни проверката. не ми върши работа да я викам от външен файл onload. затова се чудя как да го накарам вместо bg-inside.html да изпълни проверката на браузъра.
| tldstudios.com
| thedezine.com
Re: JS
функция за отваряне на джам
var win= null;
function NewWindow(mypage,myname,w,h,scroll){
var winl = (screen.width-w)/2;
var wint = (screen.height-h)/2;
var settings ='height='+h+',';
settings +='width='+w+',';
settings +='top='+wint+',';
settings +='left='+winl+',';
settings +='scrollbars='+scroll+',';
settings +='resizable=no';
win=window.open(mypage,myname,settings);
if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
}
функция за проверка на браузър
function MM_checkBrowser(NSvers,NSpass,NSnoPass,IEvers,IEpass,IEnoPass,OBpass,URL,altURL) { //v4.0
var newURL='', verStr=navigator.appVersion, app=navigator.appName, version = parseFloat(verStr);
if (app.indexOf('Netscape') != -1) {
if (version >= NSvers) {if (NSpass>0) newURL=(NSpass==1)?URL:altURL;}
else {if (NSnoPass>0) newURL=(NSnoPass==1)?URL:altURL;}
} else if (app.indexOf('Microsoft') != -1) {
if (version >= IEvers || verStr.indexOf(IEvers) != -1)
{if (IEpass>0) newURL=(IEpass==1)?URL:altURL;}
else {if (IEnoPass>0) newURL=(IEnoPass==1)?URL:altURL;}
} else if (OBpass>0) newURL=(OBpass==1)?URL:altURL;
if (newURL) { window.location=unescape(newURL); document.MM_returnValue=false; }
}
викане
<a href="bg-inside.html" onclick="NewWindow(this.href,'bgwin','780','400','no');return false;MM_checkBrowser(5.0,1,2,5.0,1,2,2,'bg-inside.html','nobrowser.html');return document.MM_returnValue">български</a>
когато се кликне на линка, функцията за джама отваря джама с урл-то което е в a href и не изпълнява проверката. искам в тоя a href някак си да наместя проверката за браузър за да се изпълни ТЯ в отворения прозорец, а не да се отваря направо bg-inside.html защото от нея вече се викат съответните урл-та които ще се заредят ако браузъра е ок или не е.
не ми върши работа варианта да проверявам от bg-inside.html onload браузъра или да проверявам още onload на самата страница от която почва всичко.
| tldstudios.com
| thedezine.com
var win= null;
function NewWindow(mypage,myname,w,h,scroll){
var winl = (screen.width-w)/2;
var wint = (screen.height-h)/2;
var settings ='height='+h+',';
settings +='width='+w+',';
settings +='top='+wint+',';
settings +='left='+winl+',';
settings +='scrollbars='+scroll+',';
settings +='resizable=no';
win=window.open(mypage,myname,settings);
if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
}
функция за проверка на браузър
function MM_checkBrowser(NSvers,NSpass,NSnoPass,IEvers,IEpass,IEnoPass,OBpass,URL,altURL) { //v4.0
var newURL='', verStr=navigator.appVersion, app=navigator.appName, version = parseFloat(verStr);
if (app.indexOf('Netscape') != -1) {
if (version >= NSvers) {if (NSpass>0) newURL=(NSpass==1)?URL:altURL;}
else {if (NSnoPass>0) newURL=(NSnoPass==1)?URL:altURL;}
} else if (app.indexOf('Microsoft') != -1) {
if (version >= IEvers || verStr.indexOf(IEvers) != -1)
{if (IEpass>0) newURL=(IEpass==1)?URL:altURL;}
else {if (IEnoPass>0) newURL=(IEnoPass==1)?URL:altURL;}
} else if (OBpass>0) newURL=(OBpass==1)?URL:altURL;
if (newURL) { window.location=unescape(newURL); document.MM_returnValue=false; }
}
викане
<a href="bg-inside.html" onclick="NewWindow(this.href,'bgwin','780','400','no');return false;MM_checkBrowser(5.0,1,2,5.0,1,2,2,'bg-inside.html','nobrowser.html');return document.MM_returnValue">български</a>
когато се кликне на линка, функцията за джама отваря джама с урл-то което е в a href и не изпълнява проверката. искам в тоя a href някак си да наместя проверката за браузър за да се изпълни ТЯ в отворения прозорец, а не да се отваря направо bg-inside.html защото от нея вече се викат съответните урл-та които ще се заредят ако браузъра е ок или не е.
не ми върши работа варианта да проверявам от bg-inside.html onload браузъра или да проверявам още onload на самата страница от която почва всичко.
| tldstudios.com
| thedezine.com
Re: JS
Чини ми се, че говориш за някаква проверка в самия таг хреф... ми глей ся, ти по принцип можеш да набуташ почти всичко в един онклик. просто се прави
onclick="kvoto_si_iskash".
И няма нищо лошо щом искаш точно в момента на клика да проверяваш браузъра /*това ли искаш? не виждам голям смисъл, я обясни защо
*/, просто си предефинираш тая функция, която ти отваря прозореца, и набутваш проверката вътре преди да извикаш самия window.open()... И според проверката даваш на променливата mypage съответното урл...
The#Project - нов брой с нов дизайн
onclick="kvoto_si_iskash".
И няма нищо лошо щом искаш точно в момента на клика да проверяваш браузъра /*това ли искаш? не виждам голям смисъл, я обясни защо
The#Project - нов брой с нов дизайн
Re: JS
решението което колегата тн1 вкара е следното
<a href=# onclick="MM_checkBrowser(5.0,1,0,5.0,1,0,0,'',''); if (document.MM_returnValue==true) { NewWindow('bg-inside.html','bgwin','780','400','no'); } else { NewWindow('nobrowser.html','bgwin','780','400','no'); }">български</a>
всичко това чудесно, само дето по някаква причина каквото и да се прави се връща else url-то ;-( пробвах и с false горе и какви ли не въртели правих - не ще. а аз съм скаран с кодинга и не мога да открия някаква логическа грешка...
иначе искам точно това - да. щото имам сайт на 7 езика и искам да ми лоудне индекса с езиците без проверка, а после не ща на всеки език на индекса да му правя onload проверки... струва ми се, че така както искам ще е най-безбоезнено и бързо. все пак и сайта не е динамичен. а това дето ми говориш за предефиниране - не се наемам, че ще осера тотално всичко хехе
| tldstudios.com
| thedezine.com
<a href=# onclick="MM_checkBrowser(5.0,1,0,5.0,1,0,0,'',''); if (document.MM_returnValue==true) { NewWindow('bg-inside.html','bgwin','780','400','no'); } else { NewWindow('nobrowser.html','bgwin','780','400','no'); }">български</a>
всичко това чудесно, само дето по някаква причина каквото и да се прави се връща else url-то ;-( пробвах и с false горе и какви ли не въртели правих - не ще. а аз съм скаран с кодинга и не мога да открия някаква логическа грешка...
иначе искам точно това - да. щото имам сайт на 7 езика и искам да ми лоудне индекса с езиците без проверка, а после не ща на всеки език на индекса да му правя onload проверки... струва ми се, че така както искам ще е най-безбоезнено и бързо. все пак и сайта не е динамичен. а това дето ми говориш за предефиниране - не се наемам, че ще осера тотално всичко хехе
| tldstudios.com
| thedezine.com
Re: JS
function MM_checkBrowser(NSvers,NSpass,NSnoPass,IEvers,IEpass,IEnoPass,OBpass,URL,altURL) { //v4.0
var newURL='', verStr=navigator.appVersion, app=navigator.appName, version = parseFloat(verStr);
if (app.indexOf('Netscape') != -1) {
if (version >= NSvers) {if (NSpass>0) newURL=(NSpass==1)?URL:altURL;}
else {if (NSnoPass>0) newURL=(NSnoPass==1)?URL:altURL;}
} else if (app.indexOf('Microsoft') != -1) {
if (version >= IEvers || verStr.indexOf(IEvers) != -1)
{if (IEpass>0) newURL=(IEpass==1)?URL:altURL;}
else {if (IEnoPass>0) newURL=(IEnoPass==1)?URL:altURL;}
} else if (OBpass>0) newURL=(OBpass==1)?URL:altURL;
if (newURL) { window.location=unescape(newURL);
return false; }
}
където викаш:
<a href=# onclick="MM_checkBrowser(5.0,1,0,5.0,1,0,0,'',''); if (!MMCheckboruser()) { NewWindow('bg- inside.html','bgwin','780','400','no'); } else { NewWindow('nobrowser.html','bgwin','780','400','no'); }">български</a>
Честно казано не можах да вникна дълбоко в идиотския код, който създава ДВ-то, но видях, че само на едно място поставя фалсе, така че би трябвало да стане. Ама пак не гарантирам - по добре да изнесеш целия тоя код в една функция:
function chekNeshtoTam(){
MM_checkBrowser(5.0,1,0,5.0,1,0,0,'',''); if (document.MM_returnValue==true) { NewWindow('bg- inside.html','bgwin','780','400','no'); } else { NewWindow('nobrowser.html','bgwin','780','400','no'); }
}
i dolu da dadesh samo onclick="checkNeshtoTam". Щото да ти кажа тоя синтаксис на един ред в жаваскрипт не ми вдъхва доверие. Както впрочем и функцията за чек на браузъра. Ако пак става същото, препоръчвам ти да лепнеш един alert() някъде във функцията за проверка, където би трябвало да върне истина и да видиш кво става...
А по принцип за груб чек дали работиш с ИЕ подобен браузър или НС, достатъчно е да използваш if(document.all). Освен ако дизайна ти наистина не е зависим от големи подробности в браузъра.
The#Project - нов брой с нов дизайн
var newURL='', verStr=navigator.appVersion, app=navigator.appName, version = parseFloat(verStr);
if (app.indexOf('Netscape') != -1) {
if (version >= NSvers) {if (NSpass>0) newURL=(NSpass==1)?URL:altURL;}
else {if (NSnoPass>0) newURL=(NSnoPass==1)?URL:altURL;}
} else if (app.indexOf('Microsoft') != -1) {
if (version >= IEvers || verStr.indexOf(IEvers) != -1)
{if (IEpass>0) newURL=(IEpass==1)?URL:altURL;}
else {if (IEnoPass>0) newURL=(IEnoPass==1)?URL:altURL;}
} else if (OBpass>0) newURL=(OBpass==1)?URL:altURL;
if (newURL) { window.location=unescape(newURL);
return false; }
}
където викаш:
<a href=# onclick="MM_checkBrowser(5.0,1,0,5.0,1,0,0,'',''); if (!MMCheckboruser()) { NewWindow('bg- inside.html','bgwin','780','400','no'); } else { NewWindow('nobrowser.html','bgwin','780','400','no'); }">български</a>
Честно казано не можах да вникна дълбоко в идиотския код, който създава ДВ-то, но видях, че само на едно място поставя фалсе, така че би трябвало да стане. Ама пак не гарантирам - по добре да изнесеш целия тоя код в една функция:
function chekNeshtoTam(){
MM_checkBrowser(5.0,1,0,5.0,1,0,0,'',''); if (document.MM_returnValue==true) { NewWindow('bg- inside.html','bgwin','780','400','no'); } else { NewWindow('nobrowser.html','bgwin','780','400','no'); }
}
i dolu da dadesh samo onclick="checkNeshtoTam". Щото да ти кажа тоя синтаксис на един ред в жаваскрипт не ми вдъхва доверие. Както впрочем и функцията за чек на браузъра. Ако пак става същото, препоръчвам ти да лепнеш един alert() някъде във функцията за проверка, където би трябвало да върне истина и да видиш кво става...
А по принцип за груб чек дали работиш с ИЕ подобен браузър или НС, достатъчно е да използваш if(document.all). Освен ако дизайна ти наистина не е зависим от големи подробности в браузъра.
The#Project - нов брой с нов дизайн
Re: JS
Сега ми хрумна нещо доста по-разбираемо и удобно за твоя случай:
там, където ти е линка:
<script>
if(IsNetscape()){ /*kydeto isNetscape e funkciq koqto shte vyrne true ako browsera e NS*/
document.write("<a href=NewWindow('nobrowser.html','bgwin','780','400','no')>български</a>");
}
else{
document.write("<a href=NewWindow('bg-inside.html','bgwin','780','400','no')>български</a>");
}
</script>
И пак ако става въпрос за груба проверка, вместо IsNetscape може да използваш !document.all
The#Project - нов брой с нов дизайн
там, където ти е линка:
<script>
if(IsNetscape()){ /*kydeto isNetscape e funkciq koqto shte vyrne true ako browsera e NS*/
document.write("<a href=NewWindow('nobrowser.html','bgwin','780','400','no')>български</a>");
}
else{
document.write("<a href=NewWindow('bg-inside.html','bgwin','780','400','no')>български</a>");
}
</script>
И пак ако става въпрос за груба проверка, вместо IsNetscape може да използваш !document.all
The#Project - нов брой с нов дизайн
mai mai...
tova shte ti sbyrshi rabota
testvah go samo pod ie ama ba4ka
zabelegi funkciata za detec na browsera - tam moesh da si adnesh ili remov-nesh browseri spored saita ti.
ne e mnoo dobre napisano ama se pak ne sym i js guru:)
<script language="JavaScript">
<!----
function getBrowser()
{
this.ver=navigator.appVersion;
this.DOM=document.getElementById?1:0;
this.ie5=(this.ver.indexOf("MSIE 5")>-1&&this.DOM)?1:0;
this.ie6=(this.ver.indexOf("MSIE 6")>-1&&this.DOM)?1:0;
this.ie4=(document.all&&!this.DOM)?1:0;
this.ns5=(this.DOM&&parseInt(this.ver)>=5)?1:0;
this.ns4=(document.layers&&!this.DOM)?1:0;
this.DHTML=(this.ie5||this.ie4||this.ns4||this.ns5||ie6);
this.ns = this.ns4 || this.ns6;
this.ie = this.ie5 || this.ie4||this.ie6;
return this;
}
b = getBrowser();
function getOb()
{
if(b.ns4)
return "nn.html";
if(b.ie)
return "ie.html";
}
function go(page){
a = getOb();
opensaysme=window.open(page + a ,'preview','toolbar=no,scrollbars,resizable=yes,menubar=no,status=yes,directories=no,location=no,width=350,height=280')}
//---->
</script>
<a href="javascript:go('js_')">open me</a>
predpolagam 4e se doseshtash 4e triabva da imash 2 html-a
js_ ti e prefix-a
js_nn.html i js_ie.html a peigovete - gore mogesh da si gi smenish
ai sys zdrave
PS: kajete edno mersi i na HavyBomber-a za funkciikata za browsera - mnoo udobna:)
testvah go samo pod ie ama ba4ka
zabelegi funkciata za detec na browsera - tam moesh da si adnesh ili remov-nesh browseri spored saita ti.
ne e mnoo dobre napisano ama se pak ne sym i js guru:)
<script language="JavaScript">
<!----
function getBrowser()
{
this.ver=navigator.appVersion;
this.DOM=document.getElementById?1:0;
this.ie5=(this.ver.indexOf("MSIE 5")>-1&&this.DOM)?1:0;
this.ie6=(this.ver.indexOf("MSIE 6")>-1&&this.DOM)?1:0;
this.ie4=(document.all&&!this.DOM)?1:0;
this.ns5=(this.DOM&&parseInt(this.ver)>=5)?1:0;
this.ns4=(document.layers&&!this.DOM)?1:0;
this.DHTML=(this.ie5||this.ie4||this.ns4||this.ns5||ie6);
this.ns = this.ns4 || this.ns6;
this.ie = this.ie5 || this.ie4||this.ie6;
return this;
}
b = getBrowser();
function getOb()
{
if(b.ns4)
return "nn.html";
if(b.ie)
return "ie.html";
}
function go(page){
a = getOb();
opensaysme=window.open(page + a ,'preview','toolbar=no,scrollbars,resizable=yes,menubar=no,status=yes,directories=no,location=no,width=350,height=280')}
//---->
</script>
<a href="javascript:go('js_')">open me</a>
predpolagam 4e se doseshtash 4e triabva da imash 2 html-a
js_ ti e prefix-a
js_nn.html i js_ie.html a peigovete - gore mogesh da si gi smenish
ai sys zdrave
PS: kajete edno mersi i na HavyBomber-a za funkciikata za browsera - mnoo udobna:)
malka JS poprawka za tatkoto :)
Zdrasti tatkoto :)
Nachi imam slednite zabelejki otnosno twoia JavaScript.
Nachi twoia JS triabwa da byde slednia:
function getBrowser()
{
.... //syshtoto kakto predi ama bez return this nakraia
}
b = new getBrowser();
....
Nachi w twoia wariant this obekta w funciata sywpada s window obekta. Ako ne si uweren w towa - sloji edno alert(this==window) i she widish che she dade true. T.e. b = window. Towa e taka poneje kato wikash getBrowser() ti ne syzdawash now obekt chrez operatora 'new'. Ako ostawish taka neshtata i po-natatyk w fileto definirash promenliva:
ver = 10; (primerno)
togawa twoiata promenliwa b.ver shte byde overwrited ili drugo iache kazano shte zamine w kanala :). Towa e taka, zashtoto b.ver i window.ver sa edno i syshto neshto, zashtoto b i window sa edno i syshto neshto. Wsichki promenliwi, obekti i funcii, koito syzdawash s prostite im imena se syzdawat w window obekta t.e. pylnoto ime na wsiaka promenliwa e window.variable - naprimer:
a = 10;
e ekwiwalentno na: window.a = 10;
function m(){}
e ekwiwalentno na: function window.m(){}
Pozdrawi.
Btw si naprawil simpatichen page za familito :)
Nachi imam slednite zabelejki otnosno twoia JavaScript.
Nachi twoia JS triabwa da byde slednia:
function getBrowser()
{
.... //syshtoto kakto predi ama bez return this nakraia
}
b = new getBrowser();
....
Nachi w twoia wariant this obekta w funciata sywpada s window obekta. Ako ne si uweren w towa - sloji edno alert(this==window) i she widish che she dade true. T.e. b = window. Towa e taka poneje kato wikash getBrowser() ti ne syzdawash now obekt chrez operatora 'new'. Ako ostawish taka neshtata i po-natatyk w fileto definirash promenliva:
ver = 10; (primerno)
togawa twoiata promenliwa b.ver shte byde overwrited ili drugo iache kazano shte zamine w kanala :). Towa e taka, zashtoto b.ver i window.ver sa edno i syshto neshto, zashtoto b i window sa edno i syshto neshto. Wsichki promenliwi, obekti i funcii, koito syzdawash s prostite im imena se syzdawat w window obekta t.e. pylnoto ime na wsiaka promenliwa e window.variable - naprimer:
a = 10;
e ekwiwalentno na: window.a = 10;
function m(){}
e ekwiwalentno na: function window.m(){}
Pozdrawi.
Btw si naprawil simpatichen page za familito :)
Re: JS
по някаква причина това isnetscape при мен не работи, а !document.all май е само за експлорър? на мен ми трябва проста проверка за експлорър 5 и нетскейп 6. ;-/ иначе другия вариант работи ама отваря само нобраузър урлто ;-)))
| tldstudios.com
| thedezine.com
| tldstudios.com
| thedezine.com
kombinaciq
ot wsichki chudesa nakraq sednah i osobeno srychno si sglobih slednoto neshto:
<script language="JavaScript">
var vers=navigator.appVersion, version = parseFloat(vers);
if(version < 5){
document.write("<a href=javascript:NewWindow('nobrowser.html','bgwin','780','400','no')>български</a>");
}
else {
document.write("<a href=javascript:NewWindow('bg-inside.html','bgwin','780','400','no')>български</a>");
}
</script>
samo deto netscape otwarq podhodqshtiq page, a explorera uporito wryshta nobrowser ;-)))
| tldstudios.com
| thedezine.com
<script language="JavaScript">
var vers=navigator.appVersion, version = parseFloat(vers);
if(version < 5){
document.write("<a href=javascript:NewWindow('nobrowser.html','bgwin','780','400','no')>български</a>");
}
else {
document.write("<a href=javascript:NewWindow('bg-inside.html','bgwin','780','400','no')>български</a>");
}
</script>
samo deto netscape otwarq podhodqshtiq page, a explorera uporito wryshta nobrowser ;-)))
| tldstudios.com
| thedezine.com
Re: kombinaciq
мда... в експлорер обекта navigator е празен и не може да го изследваш за appVersion...
. А функцията, дето постна таткото не ти ли върши работа?
The#Project - нов брой с нов дизайн
The#Project - нов брой с нов дизайн