|
| Resize - til indre mål Fra : Erik Ginnerskov |
Dato : 15-09-05 20:38 |
|
Hej NG
Under forudsætning, at browseren ikke er sat op til at blokere for den
slags, er det ingen sag at resize browservinduet til ydre mål:
onclick="window.resizeTo(800, 600)"
Men jeg har brug for at kunne resize til indre mål (for at teste mod
handheld):
onclick="window.resizeTo(240, 320)"
Hvordan skal syntaksen være for at opnå dette?
--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/
| |
Jens Gyldenkærne Cla~ (15-09-2005)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 15-09-05 21:42 |
|
Erik Ginnerskov skrev:
> Men jeg har brug for at kunne resize til indre mål (for at
> teste mod handheld):
>
> onclick="window.resizeTo(240, 320)"
Jeg tror ikke at du kan sætte et indre mål direkte, men du kan
aflæse det indre og det ydre mål, og på den måde regne ud hvad du
skal sætte det ydre mål til for at opnå den ønskede størrelse.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Erik Ginnerskov (15-09-2005)
| Kommentar Fra : Erik Ginnerskov |
Dato : 15-09-05 22:35 |
|
Jens Gyldenkærne Clausen wrote:
> Jeg tror ikke at du kan sætte et indre mål direkte, men du kan
> aflæse det indre og det ydre mål, og på den måde regne ud hvad du
> skal sætte det ydre mål til for at opnå den ønskede størrelse.
Jeg synes ellers, jeg en gang har set et script, der kunne. Den gang havde
jeg bare ikke tanke på, at det kunne være anvendeligt, så jeg aner ikke hvor
jeg så det. ;(
--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/
| |
Ryan Kristensen (15-09-2005)
| Kommentar Fra : Ryan Kristensen |
Dato : 15-09-05 23:46 |
|
On Thu, 15 Sep 2005 21:38:13 +0200, Erik Ginnerskov
<erik@donotspammmeplease.invalid> wrote:
> Men jeg har brug for at kunne resize til indre mål (for at teste mod
> handheld):
>
> onclick="window.resizeTo(240, 320)"
>
> Hvordan skal syntaksen være for at opnå dette?
Jeg tror ikke der er nogen direkte måde at ændre på de indre mål, men du
kan - ved hjælp af en løkke - lade vinduet blive justeret, så det kommer
til at passe.
function resize(w,h) {
var root =
document.compatMode=="CSS1Compat"?document.documentElement:document.body;
var defaultWidth = w;
var defaultHeight = h;
while (root.clientWidth!=w || root.clientHeight!=h) {
if (root.clientWidth<w) {defaultWidth+=1;}
if (root.clientWidth>w) {defaultWidth-=1;}
if (root.clientHeight<h) {defaultHeight+=1;}
if (root.clientHeight>h) {defaultHeight-=1;}
window.resizeTo(defaultWidth, defaultHeight);}
}
Men hvorfor bruger du ikke bare Operas "small screen" funktion?
--
Ryan Kristensen
| |
Lasse Reichstein Nie~ (16-09-2005)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 16-09-05 16:53 |
|
"Ryan Kristensen" <ryankristensen@hotmail.invalid> writes:
> Jeg tror ikke der er nogen direkte måde at ændre på de indre mål, men
> du kan - ved hjælp af en løkke - lade vinduet blive justeret, så det
> kommer til at passe.
Det ser sikkert vældig kønt ud at det "zoomer", men det kan klares med
to resizer.
---
function getWinSize() {
// se: http://jibbering.com/faq/#FAQ4_9
if (typeof window.innerWidth == "number") {
return [window.innerWidth, window.innerHeight];
} else {
var root = (document.compatMode == "CSS1Compat")?
document.documentElement: document.body;
return [root.clientWidth, root.clientHeight];
}
}
function resize(w,h) {
window.resizeTo(w,h);
var wh = getWinSize();
window.resizeTo(2*w-wh[0], 2*h-wh[1]);
}
---
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
| |
Erik Ginnerskov (16-09-2005)
| Kommentar Fra : Erik Ginnerskov |
Dato : 16-09-05 21:35 |
|
Lasse Reichstein Nielsen wrote:
> det kan klares med
> to resizer.
> ---
> function getWinSize() {
> // se: http://jibbering.com/faq/#FAQ4_9
> if (typeof window.innerWidth == "number") {
> return [window.innerWidth, window.innerHeight];
> } else {
> var root = (document.compatMode == "CSS1Compat")?
> document.documentElement: document.body;
> return [root.clientWidth, root.clientHeight];
> }
> }
>
> function resize(w,h) {
> window.resizeTo(w,h);
> var wh = getWinSize();
> window.resizeTo(2*w-wh[0], 2*h-wh[1]);
> }
Det fungerer præcis som ønsket. Tak Lasse.
--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/
| |
Ryan Kristensen (16-09-2005)
| Kommentar Fra : Ryan Kristensen |
Dato : 16-09-05 23:21 |
|
On Fri, 16 Sep 2005 17:53:12 +0200, Lasse Reichstein Nielsen
<lrn@hotpop.com> wrote:
> Det ser sikkert vældig kønt ud at det "zoomer", men det kan klares med
> to resizer.
[SNIP]
> window.resizeTo(2*w-wh[0], 2*h-wh[1]);
Selvfølgelig. - Smart.
--
Ryan Kristensen
| |
Erik Ginnerskov (16-09-2005)
| Kommentar Fra : Erik Ginnerskov |
Dato : 16-09-05 21:19 |
|
Ryan Kristensen wrote:
> function resize(w,h) {
> var root =
> document.compatMode=="CSS1Compat"?document.documentElement:document.body;
> var defaultWidth = w;
> var defaultHeight = h;
> while (root.clientWidth!=w || root.clientHeight!=h) {
> if (root.clientWidth<w) {defaultWidth+=1;}
> if (root.clientWidth>w) {defaultWidth-=1;}
> if (root.clientHeight<h) {defaultHeight+=1;}
> if (root.clientHeight>h) {defaultHeight-=1;}
> window.resizeTo(defaultWidth, defaultHeight);}
> }
Det virkede da, men den var ret længe om at finde størrelsen.
> Men hvorfor bruger du ikke bare Operas "small screen" funktion?
Fordi den ikke virker, når jeg ser siden i Firefox. ;)
--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/
| |
|
|