href kam <iframe> v IE

9 отговора 246 прегледа
#1

href kam <iframe> v IE

imam slednoto:

<br /><br /><br /><br />
<a href="in.html#16" target="op" >fgjdfk</a>

<iframe src ="in.html" name="op" width="325" height="720" >
</iframe>


v Netscape kato se natisne linka polozhenieto sprjamo ekrana ne se promenja, no IE preskacha taka, che in.html#16 vinagi da e v nachalo na prozoreca! taka che onezi <br /> naprimer izchezvat.

kak moge da se napravi taka, che i v IE polozhenieto da ne se promenja ili pone da otiva vinagi v nachaloto na vunshnija .html


pozdravi

Отговор
в отговор на kashon #2

Re: href kam &lt;iframe&gt; v IE

<br /><br /><br /><br />
<a href="in.html#16" target="op" onclick="this.document.location+='#'" >fgjdfk</a>

<iframe src ="in.html" name="op" width="325" height="720" >
</iframe>

Май това ти трябва?

Отговор
в отговор на БaбaИлиицa #3

Re: href kam &lt;iframe&gt; v IE

mogesh li da mi objasnish smisala mu na tova. ne sam tolkova navutre sas java script. moge bi trjabva da promenja neshto za da mi vurshi rabota?

inache taka, kakto go predlagash ima mnogo interesen efekt: v address-bara seki pat se pojavjava po edno #, ama nishto drugo ne se promenja :/

Отговор
в отговор на kashon #4

Re: href kam &lt;iframe&gt; v IE

Ми аз всъщност не разбрах какъв е точно проблема, ама до колкото разбирам: когато кликнеш върху линка ти се зарежда страница в iframe, а проблема е, че в MSIE основния фрейм се скролва надолу така, че горния ръб на iframe да съвпадне с горния ръб на основния прозорец.

За целта предлаганото от мен решение е следното: когато кликнеш върху линка, освен, че зарежда в iframe някакъв адрес, той извиква и един JavaScript, който скролва основния екран нагоре до началото му.

this.document.location+='#';

означава:

направи адреса (location) на този (this) документ (document) да е равен на себе си плюс диез накрая (+='#');

Т.е. това, което се случва е да скролира основния прозорец догоре!

БАба...

Отговор
в отговор на БaбaИлиицa #5

Re: href kam &lt;iframe&gt; v IE

abe, tochno tova e problema.... i idejata s locationa e strahotno logichna, ama browsera ne go pravi prosto :(

Отговор
в отговор на kashon #6

Re: href kam &lt;iframe&gt; v IE

Не го прави щото onclick се изпълнява първи... пробвай да сложиш на onclick нещо от сорта на...

setTimeout('window.scrollTo(0, 0);', 1000);

ефекта ще е още по-странен де... поиграй си с числото 1000, ако го намалиш може нещата да стават по-незабележими, но пък ако прекалиш може да не сработва...

ViruS
Отговор
в отговор на ViruS #7

:)

super, taka e idealno!

a dali ne moge da se zapomnjat koordinatite na ekrana predi da se natisne linka i te da otivat pri onclick vmesto onova (0,0) ?

Отговор
в отговор на kason #8

Re: :)

пробвай с

setTimeout('window.scrollTo(document.body.scrollLeft, document.body.scrollTop);', 1000);

макар, че имам споменни това да не работи във всички браузери... ама ти тъй и тъй ползваш IFRAME, та може да работи на браузерите с IFRAME

ViruS
Отговор
в отговор на kason #9

Re: :)

onclick="setTimeout("this.document.location+=\'#1\'", 1000);"

червеното е от вируса
синьото е от мен
зеленото е сега добавено...

Когато използваш линк към несъществуващ адрес (в случая #1) това не предизвиква скролиране на страницата догоре!

Ама не съм го пробвал!

Редактирано от БaбaИлиицa на

Отговор
в отговор на БaбaИлиицa #10

Re: :)

да, ама тя и ВЕЧЕ е скролирана автоматично до началото на IFRAME-а... + зеленото според мен отива при вътрешните кавички, а не при апострофите.

ViruS
Отговор