Wie wird Inline-JavaScript in HTML verwendet?

7

Unterstützen, dass ich dieses versteckte Feld habe:

%Vor%

Und stellen Sie sich vor, ich hole ein HTML-Fragment vom Server über jQuery AJAX.

%Vor%

Aber anstatt etwas zu schreiben:

%Vor%

Ich möchte etwas wie:

verwenden %Vor%

Allerdings bekomme ich das beabsichtigte Ergebnis nicht. Kann ich diesen Ansatz mit JavaScript verwenden?

Update: Jeder bitte, ich weiß über $(document).ready(); . Also, biete keine besseren Wege an. Ich wollte nur wissen, ob es möglich ist, Inline-JavaScript zu haben oder nicht, und wenn ja, wie?

    
Saeed Neamati 13.08.2011, 13:03
quelle

5 Antworten

12

Nein, Sie können diesen Ansatz nicht mit Javascript verwenden. Es gibt kein Inline-Javascript.

Was Sie in einem Link wie <a href="javascript:alert(1)"> sehen, ist das javascript: Pseudo-Protokoll, ähnlich wie das http: Protokoll. Wenn Sie den Browser auf eine solche URL verweisen, führt der Browser das Skript aus.

Wenn Sie ein Skript auf der Seite ausführen möchten, benötigen Sie ein Skript-Tag.

    
Guffa 13.08.2011, 13:12
quelle
6

Obwohl das <script> -Tag funktioniert und Ihnen erlauben würde, das zu tun, was Sie versuchen, würde ich wirklich vorschlagen, Ihr Design dort zu überdenken. Dies ist nicht direkt das, was man als "unaufdringliches Javascript" bezeichnen würde.

Warum mischen Sie am liebsten HTML und JS? Wenn es für Neugier ist - OK, aber wenn dies in Produktionscode umgewandelt werden soll, dann möchten Sie vielleicht die zwei so viel wie möglich trennen. Sie werden am Ende mit einer viel besseren Wartbarkeit belohnt.

    
emboss 13.08.2011 13:11
quelle
6

Sie könnten tun -

%Vor%

und die Seite würde das Javascript ausführen, wenn es das Skript-Tag trifft. Sie müssen sicherstellen, dass das '#handler' Element bereits geladen wurde oder das Skript fehlschlägt.

Im Allgemeinen wäre es besser, solche Script-Tags von Ihrem Markup fernzuhalten.

Arbeitsdemo - Ссылка

    
ipr101 13.08.2011 13:07
quelle
2

Haben Sie das <script> -Tag vergessen?

%Vor%     
Matt Ball 13.08.2011 13:05
quelle
1

Vor ein paar Jahren hatte ich genau dieses Problem: Ich benutzte AJAX, um HTML zu erhalten, und das HTML hatte eingebettetes Javascript. Ich konnte nie eine bessere Lösung finden, als den HTML-Code manuell zu analysieren, um die Javascript-Tags auszugraben und eval auf ihrem Inhalt anzurufen. Hackisch und unzuverlässig, aber es war das Beste, was ich finden konnte.

    
Malvolio 13.08.2011 14:27
quelle