2011-01-08 7 views
2

Ich bin ein "Long Time Reader First Time Poster", froh, dass ich an diesem Forum teilnehmen darf.Kann JavaScript überstrapaziert werden?

Meine Erfahrung ist mit Java, Python und mehreren Audio-Programmiersprachen; Ich bin ziemlich neu in den großen schlechten Web-Technologien: HTML/CSS/JavaScript. Ich mache gerade zwei persönliche Seiten und frage mich, ob ich mich zu sehr auf JavaScript stütze.

Ich mache eine Website, wo alle Seiten ein bisschen Markup gemeinsam haben - Zeug wie die Navigationsleiste und einige geschnittene Hintergrundbilder - also dachte ich, ich würde eine pageInit() -Funktion machen, um die Mehrheit einzufügen des HTML für mich. Wenn ich später etwas ändere, ändere ich einfach das Skript und nicht alle Seiten. Ich denke, wenn Benutzer paranoid genug sind, JavaScript ausgeschaltet zu haben, werde ich ihnen eine Warnung oder etwas geben. Ist das eine schlechte Übung? Kann JavaScript überstrapaziert werden?

Vielen Dank im Voraus.

+2

Sie sind nur reines HTML und JS schreiben? Sie verwenden kein Framework wie PHP, ASP.NET, Ruby on Rails, Java usw.? Wenn nicht, sollten Sie sein - alle diese bieten ein viel besseres Vehikel für das Schreiben wiederverwendbarer Stücke von HTML. –

+0

Wenn Ihre Benutzer Facebook verwenden, haben sie kein JavaScript deaktiviert (oder viele andere beliebte Websites). Normalerweise sind Unternehmen eher daran interessiert, ein Publikum ohne JavaScript zu erreichen, da sie viel weniger Traffic bekommen und jeder Klick zählt (ein potenzieller Kunde). Kann JavaScript überstrapaziert werden? Oh ja. Aber wir haben oft nicht viel Auswahl, so weit Vertrauen in Organisationen wie Facebook ihre neuesten besten APIs über JavaScript liefern, jQuery bietet als große Erfahrung, etc. –

+0

Ich bin mir nicht sicher über überbeansprucht, aber das scheint mir sicherlich ein unangemessene Verwendung von JavaScript. Das Erstellen des Kerns von HTML-Seiten sollte eine Server- (und nicht eine Client-) Nebenaktivität sein. (SEO, Benutzer mit abgeschaltetem JavaScript, etc.) –

Antwort

2

HTML in Ihrem JavaScript Putting ist eine schlechte Idee. Wenn Sie den gemeinsamen HTML-Code beibehalten möchten, gibt es viele verschiedene Vorlagenlösungen für viele verschiedene serverseitige Sprachen.

Der einfachste Weg, um zu beginnen, ist die Verwendung von PHP-Includes oder JSP-Includes.

PHP:

<html> 
    <body> 
     <?php include("header.php"); ?> 
     <h1>Welcome to my home page!</h1> 
     <p>Some text.</p> 
    </body> 
    </html> 

Java/JSP:

<html> 
    <body> 
     <%@include file="header.jsp" %> 
     <h1>Welcome to my home page!</h1> 
     <p>Some text.</p> 
    </body> 
    </html> 
+0

Das ist interessantes Zeug Jungs. Ich hatte das Gefühl, dass ich mit all meinem JS nichts anfangen konnte. Es klingt wie PHP ist was ich will, aber was ist mit Django? Da ich bereits einige Python-Chops habe, wäre das für mich ein gutes Intro zur Serverseite. oder ist Django Overkill für diese Art von Aufgabe? – ledhed2222

7

Was Sie tun, ist eher ein Job für Server-Seite Scripting Vorverarbeitung in Sprachen wie PHP (oder Python oder Java ... eigentlich ist es Server-Seite JavaScript möglich). Auf diese Weise können Sie den Inhalt bereitstellen, unabhängig davon, ob der Browser JavaScript unterstützt oder nicht. Verwenden Sie JavaScript, um zu tun, was serverseitige Technologien nicht können (Bildrotation, dynamische Menüs, AJAX-Aufrufe usw.).

1

Es ist ziemlich schlecht. Betrachten Sie Suchmaschinen-Optimierung (SEO). Woher bekommst du Informationen für diese SeiteInit()? AJAX-Aufruf oder nur ein statischer Text?

+0

Dieses Problem (SEO-Optimierung und AJAX) hat begonnen, von Organisationen wie Google z. http://googlewebmastercentral.blogspot.com/2009/10/proposal-for-making-ajax-crawlable.html und http://googlewebmastercentral.blogspot.com/2007/11/spiders-view-of-web-20. html etc –

1

JavaScript kann wie jede andere Technologie überstrapaziert werden. Zu erkennen, wann Sie es überstrapazieren, ist schwierig und subjektiv.

In diesem speziellen Fall würde ich die Verwendung einer serverseitigen Include-Technologie empfehlen, um die Kopf-, Fußzeile, Navigation usw. zu integrieren. Dies könnte so einfach wie gerade Apache SSI (zum Beispiel) oder wenn Sie verwendeten Java, Python, PHP usw., um die Seite zu erstellen, und nutzten dann die idiomatische Methode, um andere Seiten, Ansichten oder Vorlagen in die aktuelle einzufügen.

Dies hat den Vorteil, dass Benutzer mit deaktiviertem JavaScript keine Probleme mit dem Inhalt Ihrer Website haben, was ein ziemlich wichtiger Aspekt ist. Da es auf der Serverseite vollkommen gute Möglichkeiten gibt, dieses Problem zu lösen, so dass der Client keine zusätzliche Arbeit leisten muss, würde ich sagen, dass JavaScript eine "schlechte Idee" war.

0

Wenn Ihr Javascript zur Benutzererfahrung dann keine hinzufügt. Das Web entwickelt sich weiter und JavaScript ist eine Technologie, die die Benutzerfreundlichkeit erheblich verbessert und das Internet zu einer reichhaltigen Quelle für Inhalte und Anwendungen macht. Es sollte nicht als schlecht angesehen werden.

Idealerweise sollte Ihre Website ohne JavaScript funktionieren, aber solange Sie Ihre Benutzer darauf aufmerksam machen, dass Ihre Website dies erfordert, ist das zumindest etwas.

Wenn Sie interessiert sind, gibt es derzeit ein kostenloses eBook von Jesse Skinner auf Unobtrusive Ajax, die über die Verbesserung der Benutzerfreundlichkeit mit Ajax spricht, aber ohne die Benutzer, die Javascript deaktiviert haben, einzuschränken. Es ist eine gute Lektüre.

Unobtrusive Ajax - Jesse Skinner

Verwandte Themen