HTML onload - verwenden von Variablen als Parameter
Möchte ich so etwas wie:
<body onLoad="init('A sentence with "quoted text" as parameter')">
Leider, das funktioniert, wie die Anführungszeichen, in die parameter werden nicht richtig behandelt.
Escaping der Anführungszeichen funktioniert auch nicht
<body onLoad="init('A sentence with \"quoted text\" as parameter')">
(Oben funktioniert auch nicht).
Wie gehe ich mit diesem. Ich dachte, vielleicht kann ich eine string-variable und assigne mein Satz (mit Anführungszeichen). Aber ich weiß nicht, wie es zu tun! Das body onload wird die HTML-und die Javascript-Variablen sichtbar nur im Rahmen des Skripts, richtig? Um genau zu sein, der folgende Code funktioniert nicht:
<script language="JavaScript">
var dada='A sentence with \"quoted text\" as parameter';
</script>
<body onLoad="init($dada, '</a>')">
Die
language
Attribut ist veraltetInformationsquelleAutor | 2010-10-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Würden Sie verwenden müssen, HTML-entities zu machen, damit es funktioniert:
die viel sauberere Weg, wenn, wäre, weisen Sie den Wert in eine separate
<SCRIPT>
Teil in der Dokument-Kopf.den
onload
Ereignis hat den Allgemeinen Nachteil, dass es nur ausgelöst, wenn das Dokument und alle seine Vermögenswerte (Bilder, Stylesheets,...) wurden geladen. Dies ist, wo die onDOMLoad Ereignis kommt: Es feuert, wenn der Kern HTML-Struktur fertig ist, und alle Elemente dargestellt werden. Es ist nicht einheitlich unterstützten Browsern, obwohl, so dass alle frameworks haben Ihre eigene Implementierung davon.Die jQuery-version heißt
.ready()
.Vielen Dank. Bin ein Anfänger in javascript, so übersehen, wie alternative Stile.
Ich hatte einen Fehler in den zweiten block. Wenn Sie den code verwenden, stellen Sie sicher, dass Sie das kopieren über die änderung (Die zusätzliche
function() { }
). Sorry.InformationsquelleAutor Pekka 웃
Statt inlining der
onLoad
Methode, warum nicht programmgesteuert. Sie können dann nutzen Sie die Kraft der Verschlüsse um die Daten in der Funktion.Danke. Dieser Ansatz erlaubte mir, mich zu beheben, rufen Sie unseren IFrame resize onload-handler (mit übergibt einen parameter / argument ), das brach, als bewegten wir uns von CRM2011 zu CRM365/2016: var frameHandle = parent.Dokument.getElementById("IFRAME_my Iframe"); // War: frameHandle.setAttribute("onload", "myFrameResize(this);"); frameHandle.onload = function () { myFrameResize(frameHandle); };
InformationsquelleAutor Greg B
nicht die schönste Art und Weise
Zitate platziert verschiedene, das funktioniert, getestet habe ich es für Sie
oh. danke.. ja, sorry, ich verpasste die Platzierung der Anführungszeichen.
InformationsquelleAutor Grumpy
Übrigens, ich machte einen dummen Fehler.
Diese funktioniert auch. Ich war mit $dada anstelle von dada in der onload-Aufruf.
InformationsquelleAutor