• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

aflösung mittels .php automatisch anpassen lassen

regex

NGBler

Registriert
24 Nov. 2014
Beiträge
48
hallo,

ich habe ein matrix code in einer .php datei und funktioniert soweit so wie es sein soll

[src=php]<body style=margin:0><canvas id=q /><script>var q=document.getElementById('q'),s=window.screen,w=q.width=s.width,h=q.height=s.height,p=Array(256).join(1).split(''),c=q.getContext("2d"),m=Math;setInterval(function(){c.fillStyle="rgba(0,0,0,0.05)";c.fillRect(0,0,w,h);c.fillStyle="rgba(0,255,0,1)";p=p.map(function(v,i){r=m.random();c.fillText(String.fromCharCode(m.floor(2720+r*33)),i*10,v);v+=10; return v>768+r*1e4?0:v})},33)</script>[/src]


leider habe ich jetzt das problem, das beim aufrufen des .php im Browser doch irgendwie nicht die auflösung automatisch anpasst? rechts und unten kanten (siehe bild)


Unbenannt.png



wie kann ich das problem beheben? bzw. wie kann ich es so einstellen das für jede auflösung sich automatisch anpasst und die leeren kanten selber vollständig befüllt?



danke
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.754
Ort
in der Zukunft
mit .php hat das erst mal nicht so viel zu tun... - also das was du oben gepostet hast.
Man könnte die Auflösung des Browsers durchaus vorher auslesen und den Sourcecode passend ausgeben das die Auflösung passt - aber dann skaliert das ganze nicht mit wenn der Anwender das Browserfenster ändert. PHP wird ja Serverseitig beim Aufruf der Seite ausgeführt und nur das Ergebnis wird zum Anwender geschickt.

Kannst du mal den ganzen Code deiner Testseite schicken? Theo. wird in dem javascript-code oben schon die Bildschirmbreite / höhe ausgelesen...
 

Timon3

Team ModMii

Registriert
17 Juli 2013
Beiträge
499
Einfachste Möglichkeit: Per css beim body den overflow auf hidden stellen. Dann hast du keine Balken mehr.
 

electric.larry

\''; DROP TABLE user; --
Teammitglied

Registriert
13 Dez. 2014
Beiträge
4.549
Ort
Raum 43
Einfachste Möglichkeit: Per css beim body den overflow auf hidden stellen. Dann hast du keine Balken mehr.

Ist grade bei Canvas Objekten nicht der optimalste Weg, weil große Canvas Flächen auf älteren Rechnern gerne zu ruckeln beginnen.

Das Problem bei deinem Code ist, dass du window.screen.width als Breite verwendest. Das ist die Breite deines gesamten Bildschirms, nicht nur die des Browserfensters. Gleiches Problem bei der Höhe.

Hier eine Version, die keine Scrollbars zeigen sollte und auch beim Resizen des Screens angepasst wird.
Der Code läuft in aktuellen Firefox und Chrome Versionen. Für ältere Internet Explorer müsstest du das hier machen.


[src=javascript]
<html>
<body style="margin:0;">

<canvas id="q" style="background-color:#000;"/>

<script>

var q = document.getElementById('q'),
s = window.screen,
w = q.width = window.innerWidth,
h = q.height = window.innerHeight,
p = Array(256).join(1).split(''),
c = q.getContext("2d"),
m = Math;

window.onresize = function(event)
{
w = q.width = window.innerWidth;
h = q.height = window.innerHeight;
};

setInterval(function()
{
c.fillStyle="rgba(0,0,0,0.05)";
c.fillRect(0,0,w,h);
c.fillStyle="rgba(0,255,0,1)";
p=p.map(function(v,i)
{
r=m.random();
c.fillText(String.fromCharCode(m.floor(2720+r*33)),i*10,v);
v+=10;
return v > 768 + r * 1e4 ? 0 : v;
})
},33)

</script>
</body>
</html>
[/src]

--- [2015-02-24 14:07 CET] Automatisch zusammengeführter Beitrag ---

Wegen deiner Frage zu Fullscreen Modus, schau dir den Code hier einmal an:

http://t3n.de/news/fullscreen-api-funktioniert-363613/
 
Zuletzt bearbeitet:

Jester

★★★★☆ (Kasparski)

Registriert
1 Dez. 2014
Beiträge
6.066
Ort
Code Azure
Jop, das Problem ist die Verwendung von screen.width etc. Die Browser speichern leider die innere Client-Größe in unterschiedlichen Objekten im Dokument-Baum. Wenn Du das browserkompatibel machst, klappts.

Quick & dirty:
[src=javascript]function detectScreenSize(){
if(window.innerHeight && window.scrollMaxY){ // Firefox
screenWidth = window.innerWidth;
screenHeight = window.innerHeight;
}
else if(document.body.scrollHeight && document.body.offsetHeight){ // all but Explorer Mac
screenWidth = document.body.clientWidth;
screenHeight = document.body.clientHeight;
}
else{ // Explorer 6 Strict, Mozilla (not FF) and Safari
screenWidth = document.body.clientWidth;
screenHeight = document.body.clientHeight;
}
}[/src]
 

electric.larry

\''; DROP TABLE user; --
Teammitglied

Registriert
13 Dez. 2014
Beiträge
4.549
Ort
Raum 43
Hinter dem Link im Posting weiter oben ist eine Kurzvariante von diesem Ansatz, die ich auch ganz cool find:

[src=javascript]
var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
[/src]
 

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
@electric.larry: document.documentElement.clientWidth wäre dann NULL bzw. das Javascript Equivalent dazu wenn window.innerWidth gesetzt ist, oder?
 

electric.larry

\''; DROP TABLE user; --
Teammitglied

Registriert
13 Dez. 2014
Beiträge
4.549
Ort
Raum 43
@Larius: Ja, wenn es eine Member Variable nicht gibt, dann bekommst du "undefined" zurück. "null" gibt es auch noch, "NULL" versteht JS aber nicht.

Alle richtigen Browser kennen window.innerWidth und liefern einen Wert zurück. Der Internet Explorer (< Version 9) tut das nicht. Da kennen Versionen <= 8 document.documentElement.clientWidth bzw. document.body.clientWidth. Microsoft war halt nie ein Mitläufer und macht seine eigenen Standards ;)

Um auch mit alten Seiten, die extra für IE optimiert wurden, kompatibel zu sein, unterstützen die meisten anderen Browser dann auch die Microsoft Un-Standards

[src=javascript]var x = undefined || null || "AAA";
//x == "AAA"[/src]
 
Oben