🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
3 messages
3 total messages Started by MJM Tue, 08 Sep 2009 09:25
Firefox, security error, toDataURL()
#49290
Author: MJM
Date: Tue, 08 Sep 2009 09:25
49 lines
2593 bytes
Dzień dobry,

Poniższy przykładowy kod działa w Google Chrome i Opera, Firefox natomiast wyrzuca błąd:

Error: uncaught exception: [Exception... "Security error"  code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" 
location: ...

Wygląda na to, że FF się nie podoba moja próba zapisania do obrazka danych z canvasa img2.src = canvas.toDataURL();
Czy ktoś może wskazać gdzie popełniłem błąd albo podpowiedzieć jakieś obejście problemu?

Pozdrawiam
Michał Mierzwa

-----------------------PRZYKŁADOWY KOD--------------------------------
function rysuj(pimg) {
  var canvas = document.createElement("canvas");
  canvas.style.position = "absolute";
  canvas.style.left = "100px";
  canvas.style.top = "100px";
  alert(pimg.height);
  var r = Math.sqrt(2* pimg.width * pimg.width);
  alert(r);
  canvas.setAttribute("width", r);
  canvas.setAttribute("height", r);
  canvas.style.border = "1px solid blue";
  document.body.appendChild(canvas);
  var ctx = canvas.getContext('2d');
  var angle = 45;
  var rad = angle * Math.PI /180;
  ctx.rotate(rad);
  ctx.drawImage(pimg,46*Math.cos(rad),-46*Math.sin(rad),66,66);

//TUTAJ WYRZUCA BŁAD!!!?
  var img2 = document.createElement("img");
//ALE PRZYCZYNA WYDAJE SIE BYC toDataURL()
  img2.src = canvas.toDataURL();

  document.body.appendChild(img2);
  var img3 = document.createElement("img");
  img3.src = "1.jpg";
  document.body.appendChild(img3);
}

function laduj() {
  var img5 = document.createElement("img");
  img5.src = "1.jpg";
  setTimeout(function(){rysuj(img5);},100);
}
laduj(); 
Re: Firefox, security error, toDataURL()
#49291
Author: William Bonawentura
Date: Tue, 08 Sep 2009 09:52
1 lines
963 bytes
Wyświetl to canvas.toDataURL()
Re: Firefox, security error, toDataURL()
#49292
Author: MJM
Date: Tue, 08 Sep 2009 10:36
12 lines
1590 bytes
Użytkownik "William Bonawentura" <news@ipartners.pl> napisał w wiadomości news:h859gh$1oru$1@news2.ipartners.pl...
> Wyświetl to canvas.toDataURL()
>

Pod Operą wyświetla dane obrazka (png), pod FF wyrzuca ten sam błąd dokładnie przed linią w której jest toDataURL();
Mimo, że ta poprzedzająca linia jest całkowicie pusta.

Gdzieś wygooglowałem, że to może być jakieś zabezpieczenie FF przed skryptami wykradającymi obrazki ale jakoś mi się wierzyć nie 
chce.

Pozdrawiam
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads