Bug 6 - kod JS w dlaczego.html nie dziala w IE
Summary: kod JS w dlaczego.html nie dziala w IE
Status: VERIFIED FIXED
Alias: None
Product: Nasze witryny
Classification: Archiwum
Component: www.firefox.pl (show other bugs)
Version: unspecified
Hardware: Wszystkie Wszystkie
: P2 trywialny
Assignee: Marek Stępień
QA Contact: Zbigniew Braniecki
URL: http://www.firefox.pl/dlaczego.html
Depends on:
Blocks:
 
Reported: 2004-02-23 21:47 CET by Zbigniew Braniecki
Modified: 2006-04-07 19:01 CEST (History)
1 user (show)

See Also:


Attachments

Description Zbigniew Braniecki 2004-02-23 21:47:12 CET
Nie rozumiem dlaczego, ale kod w dlaczego.html nie dziala pod IE.
Tzn. otwiera sie okno i moge na nim operowac, ale jesli je zamkne, to ponowne
otworzenie powoduje blad bezpieczenstwa (brak dostepu).

wszelka pomoc bedzie mile widziana.
Comment 1 Piotr Pielach 2004-06-22 23:32:03 CEST
Hej. Przyczyny tego błędu to się tylko domyślam :) 
Jednak zrobiłem małą modyfikację skryptu ze strony dlaczego.html i wygląda na to
że działa w IE :) (oczywiście w Mozilii też).

Poniżej dałem kod. A teraz kilka słów wyjaśnienia :) ID otwieranego okna
zmieniłem na stałe: "firefox_preview" dzięki czemu każde kolejne wywołanie
window.open otworzy/przywoła to samo okno. Następnie chwila opóźnienia i
wypełniamy okno zawartością.
A i ważne: z pliku preview.html wyrzucamy onLoad= - właśnie tutaj wywala się IE
Oto kod:

<script type="text/javascript">
  var W;
  var img;
  var width;
  var height;
  var opened=false;
  function wOpen (s,w,h) {
    img=s;
    width=w;
    height=h;
   
W=window.open("./preview.html","firefox_preview","toolbar=no,status=no,width="+(w+10)+",height="+(h+10));
    opened=false;
    setTimeout("setImage()",150);
  }
  
  function setImage() {
	W.document.getElementById('prevImage').src="./img/screenshots/"+img+".png";
	W.resizeTo(width,height);
	W.focus();
  	opened = true;
  }
  document.body.onclick=wClose;

  function wClose () {
    if (opened) W.close();
  }
</script>

W sumie to tylko kosmetyka ;)
Comment 2 Piotr Komoda 2004-09-25 02:12:25 CEST
Poprawilem w przypadku Thunderbird.pl | Dlaczego?
Comment 3 Piotr Pielach 2004-09-25 14:44:59 CEST
OK. To już ostateczna poprawka. Poprzednia nie była odporna na zbyt wolne łącze
z internetem :)

  var W;
  var img;
  var width;
  var height;
  var opened=false;
  function wOpen (s,w,h) {
    img=s;
    width=w;
    height=h;
    if (opened) W.close();
   
W=window.open("preview.html","thunderbird_preview","toolbar=no,status=no,width="+(w+10)+",height="+(h+10));
    opened=false;
    setTimeout("setImage()",150);
  }
  
  function setImage() {
    if (W.document.getElementById('prevImage') != null) { 
        W.document.getElementById('prevImage').src="./img/screenshots/"+img+".png";
    } else {
        setTimeout("setImage()",50);
    }
    W.resizeTo(width,height);
    W.focus();
    opened = true;
  }
  document.body.onclick=wClose;

  function wClose () {
    if (opened) W.close();
  }
Comment 4 Piotr Komoda 2004-09-25 14:50:22 CEST
Nowa wersja poprawki (by Cleriic):

<script type="text/javascript">
  var W;
  var img;
  var width;
  var height;
  var opened=false;
  function wOpen (s,w,h) {
    img=s;
    width=w;
    height=h;
    if (opened) W.close();
   
W=window.open("preview.html","thunderbird_preview","toolbar=no,status=no,width="+(w+10)+",height="+(h+10));
    opened=false;
    setTimeout("setImage()",150);
  }
  
  function setImage() {
	if (W.document.getElementById('prevImage') != null) { 
		W.document.getElementById('prevImage').src="./img/screenshots/"+img+".png";
	} else {
		setTimeout("setImage()",50);
	}
	W.resizeTo(width,height);
	W.focus();
  	opened = true;
  }
  document.body.onclick=wClose;

  function wClose () {
    if (opened) W.close();
  }
</script>

Poprawiono na Thunderbird.pl i Firefox.pl
Comment 5 Zbigniew Braniecki 2004-10-02 23:21:22 CEST
v

Note You need to log in before you can comment on or make changes to this bug.